As the cloud computing model gains in popularity it is important to understand the service layers that define it. Like the seven layer OSI model for networking, each layer of the cloud computing model exists conceptually on the foundation of the previous layers.
Within this model, there are three different service layers that are used to specify what is being provisioned, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Additionally, there are three further layers that are not provided as user services. The Hardware Layer and the Virtualization Layer are owned and operated of the cloud services provider while the Client Layer is supplied by the end users.
The hardware layer is sometimes referred to as the server layer. It represents the physical hardware that provides actual resources that make up the cloud. Since, by definition, cloud computing users do not specify the hardware used to provide services, this is the least important layer of the cloud. Often, hardware resources are inexpensive and are not fault tolerant. Redundancy is achieved simply by utilizing multiple hardware platforms while fault tolerance is provided at other layers so that any hardware failure is not noticed by the users.
Often referred to as the infrastructure layer, the virtualization layer is the result of various operating systems being installed as virtual machines. Much of the scalability and flexibility of the cloud computing model is derived by the inherent ability of virtual machines to be created and deleted at will.
The infrastructure layer builds on the virtualization layer by offering the virtual machines as a service to users. Instead of purchasing servers or even hosted services, IaaS customers can create and remove virtual machines and network them together at will. Clients are billed for infrastructure services based on what resources are consumed. This eliminates the need to procure and operate physical servers, data storage systems, or networking resources.
The platform layer rests on the infrastructure layer’s virtual machines. At this layer customers do not manage their virtual machines, they merely create applications within an existing API or programing language. There is no need to manage an operating system, let alone the underlying hardware and virtualization layers. Clients merely create their own programs which are hosted by the platform services they are paying for.
Services at the software level consist of complete applications that do not require development. Such applications can be email, customer relationship management, and other office productivity applications. Enterprise services can be billed monthly or by usage, while software as service offered directly to consumers, such as email, is often provided for free.
While this layer is not a cloud computing service, it is an essential part of the model. The client layer acts as the user interface to which cloud computing services are delivered. Client layer hardware can include personal computers, web browsers, mobile devices, and even telephones.