Cloud Reference Model Architecture - BunksAllowed

BunksAllowed is an effort to facilitate Self Learning process through the provision of quality tutorials.

Random Posts

Cloud Reference Model Architecture

Share This

Cloud computing supports any IT service that can be consumed as a utility and delivered through a network, most likely the Internet. 

Such characterization includes quite different aspects: 
  • infrastructure, 
  • development platforms, 
  • applications, and 
  • services.

Often, this layer is implemented using a data center in which hundreds and thousands of nodes are stacked together. 

Cloud infrastructure can be heterogeneous in nature because a variety of resources, such as clusters and even networked PCs, can be used to build it. Moreover, database systems and other storage services can also be part of the infrastructure.

The physical infrastructure is managed by the core middleware, the objectives of which are to provide an appropriate runtime environment for applications and to best utilize resources.

At the bottom of the stack, virtualization technologies are used to guarantee runtime environment customization, application isolation, sandboxing, and quality of service. 
  • Hardware virtualization is most commonly used at this level. 
  • Hypervisors manage the pool of resources and expose the distributed infrastructure as a collection of virtual machines. 
By using virtual machine technology it is possible to finely partition the hardware resources such as CPU and memory and to virtualize specific devices, thus meeting the requirements of users and applications.

According to the specific service offered to end users, other virtualization techniques can be used; for example, programming-level virtualization helps in creating a portable runtime environment where applications can be run and controlled.


Infrastructure management is the key function of core middleware, which supports capabilities such as negotiation of the quality of service, admission control, execution management and monitoring, accounting, and billing

The combination of cloud hosting platforms and resources is generally classified as an Infrastructure-as-a-Service (IaaS) solution. 

We can organize the different examples of IaaS into two categories: Some of them provide both the management layer and the physical infrastructure; others provide only the management layer (IaaS (M)). In this second case, the management layer is often integrated with other IaaS solutions that provide physical infrastructure and add value to them.


IaaS solutions are suitable for designing the system infrastructure but provide limited services to build applications. Such service is provided by cloud programming environments and tools, which form a new layer for offering users a development platform for applications. 

The range of tools includes Web-based interfaces, command-line tools, and frameworks for concurrent and distributed programming. In this scenario, users develop their applications specifically for the cloud by using the API exposed at the user-level middleware. For this reason, this approach is also known as Platform-as-a-Service (PaaS)


The top layer of the reference model contains services delivered at the application level. These are mostly referred to as Software-as-a-Service (SaaS)

In most cases, these are Web-based applications that rely on the cloud to provide service to end users. The power of the cloud provided by IaaS and PaaS solutions allows independent software vendors to deliver their application services over the Internet.

As a vision, any service offered in the cloud computing style should be able to adaptively change and expose an autonomic behavior, in particular for its availability and performance

As a reference model, it is then expected to have an adaptive management layer in charge of elastically scaling on demand. 

SaaS implementations should feature such behavior automatically, whereas PaaS and IaaS generally provide this functionality as a part of the API exposed to users.


The reference model also introduces the concept of everything as a Service (XaaS)

This is one of the most important elements of cloud computing: Cloud services from different providers can be combined to provide a completely integrated solution covering all the computing stack of a system. 

IaaS providers can offer the bare metal in terms of virtual machines where PaaS solutions are deployed. 

When there is no need for a PaaS layer, it is possible to directly customize the virtual infrastructure with the software stack needed to run applications. 

This is the case of virtual Web farms: a distributed system composed of Web servers, database servers, and load balancers on top of which prepackaged software is installed to run Web applications. 

This possibility has made cloud computing an interesting option for reducing startups’ capital investment in IT, allowing them to quickly commercialize their ideas and grow their infrastructure according to their revenues.





Happy Exploring!

No comments:

Post a Comment