Cloud computing services are divided into three classes, according to the abstraction level of the capability provided and the service model of providers, namely:
(1) Infrastructure as a Service,
(2) Platform as a Service, and
(3) Software as a Service.
Figure 1.3 depicts the layered organization of the cloud stack from physical infrastructure to applications.
These abstraction levels can also be viewed as a layered architecture where services of a higher layer can be composed from services of the underlying layer
A core middleware manages physical resources and the VMs deployed on top of them; in addition, it provides the required features (e.g., accounting and billing) to offer multi-tenant pay-as-you-go services.
Cloud development environments are built on top of infrastructure services to offer application development and deployment capabilities; in this level, various programming models, libraries, APIs, and mashup editors enable the creation of a range of business, Web, and scientific applications. Once deployed in the cloud, these applications can be consumed by end users.
Comments