The Cloud computing is a new computing paradigm which aims to provide reliable, customized, and quality of service (QoS) guaranteed dynamic computing environments for end users. The cloud computing paradigm has several aspects including distinct features and enabling technologies.
Cloud computing involves researchers and engineers from various backgrounds, e.g., Grid computing, software engineering, and database professionals. They integrally work on Cloud computing platform from their different view points. Computing clouds provide large scale deployment and usage capacities, which fully justifies the rapid ongoing adoption of cloud computing and hosting services.
Conceptually in cloud computing, end users acquire computing platforms or Information Technology infrastructures from computing clouds, and then run their applications inside the cloud. Therefore, computing clouds render users with services to access hardware, software, and data resources, thereafter, an integrated computing platform as a service, in a fully transparent way. Based on the support of the hardware as a service (HaaS), software as a service (SaaS), and data as a service (DaaS), the Cloud computing in addition can deliver the Infrastructure as a Service (IaaS) for users. Users thus can on-demand subscribe to their favorite computing infrastructures with requirements of hardware configuration, software installation, and data access demands.
Cloud computing services can be accessed with simple and pervasive methods. In fact, the Cloud computing adopts the concept of Utility computing. In other words, users obtain and employ computing platforms in computing Clouds as easily as they access a traditional public utility (such as electricity, water, natural gas, or telephone network). The Cloud interfaces do not force users to change their working habits and environments, e.g., programming language, compiler, and operating system. This feature differentiates Cloud computing from Grid computing as Grid users have to learn new Grid commands and APIs to access Grid resources and services. The Cloud client software which is required to be installed locally is lightweight. Cloud interfaces are location independent and can be accessed by some well established interfaces like Web services framework and Internet browser.