Something caught be few day back regarding the cloud, everyone does know the word ‘cloud’ and ‘cloud computing’ but you sure how these things work. If we ask someone what are the platform of cloud, they will immediately reply SaaS, PaaS and IaaS. But we barely know what does things are and how it works. So, remapping myself to the cloud today, I am here to describe little on what exactly the word ‘cloud computing’ means and what are the backend we need to know about it.
Let me start with the cloud computing delivery Model, the reference architecture as illustrated by NIST
The entities involved in cloud computing are the Cloud Consumer (Service consumer). The entities involved in cloud computing are the Cloud Consumer (Service consumer). Over here, the entity that maintains a business relationship with and uses services from service provider itself is cloud
service provider. The entity that is responsible for making a service available to service consumers is called Cloud Carrier. The intermediary that provides connectivity and transport of cloud services between Cloud Service Provider and Consumer is called the Broker. An entity that manages the user, performance and delivery of cloud service and negotiates relationships between providers and consumers and the Cloud auditor, a party that can conduct independent assessment of cloud services, information system operations, performance, and security of the cloud implementation. An audit is a systematic evaluation of cloud system that measures how well it conforms to a set of established criteria.
As you see the service layer on the above diagram, that is the most common block of the cloud computing holding the core part. Expanding the delivery model of the cloud, her below I have copies one of the image from google. This is a conceptual block diagram, which helps to understand the services on better way.
Here on the left most part you can the structure of traditional data-center we do have on our on-premises. For the traditional datacenter, we need to manage each and everything ourselves up to the power grid and SLA too. But if I have to introduce SaaS, PaaS and IaaS it does have greater flexibility and SLA. I hope the above diagram has mostly cleared you up on what are those services actually. But again, if I have to explain those things I would explain as of:
IaaS (Infrastructure as a Service):
Infrastructure-as-a-Service(IaaS) is the capability to provision processing, storage, networks, and other fundamental computing resources; the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of some networking components, such as host firewalls.
PaaS (Platform as a Service):
Platform-as-a-Service(PaaS) gives the capability to deploy consumer-created or acquired applications using programming languages and tools supported by the provider. Such services include session management, device integration, sandboxes, instrumentation and testing, contents management, knowledge management, and Universal Description, Discovery, and Integration (UDDI), a platform-independent Extensible Markup Language (XML)-based registry providing a mechanism to register and locate Web service applications. PaaS is not particularly useful when the application must be portable, when proprietary programming languages are used, or when the underlying hardware and software must be customized to improve the performance of the application.
SaaS (Software as a Service):
Software-as-a-Service(SaaS) gives the capability to use applications supplied by the service provider in a cloud infrastructure. The applications are accessible from various client devices through a thin-client interface such as a Web browser (e.g., Office 365 services). The user does not manage or control the underlying cloud infrastructure, including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
And below show how those capabilities are delivered as services and organized in Windows Azure platform.
So, again if I have to go through the cloud computing layers, below diagram shows the conceptual layers of it.
This layer is responsible for managing the physical resources of the cloud, including physical servers, routers, switches, power and cooling systems. In practice, the hardware layer is typically implemented in data centers. A data center usually contains thousands of servers that are organized in racks and interconnected through switches, routers or other fabrics. Typical issues at hardware layer include hardware configuration, fault tolerance, traffic management, power and cooling resource management.
Also, known as the virtualization layer, the infrastructure layer creates a pool of storage and computing resources by partitioning the physical resources using virtualization technologies such as Xen, KVM, Hyper-V and VMware. The infrastructure layer is an essential component of cloud computing, since many key features, such as dynamic resource assignment, are only made available through virtualization technologies.
Built on top of the infrastructure layer, the platform layer consists of operating systems and application frameworks. The purpose of the platform layer is to minimize the burden of deploying applications directly into VM containers. For example, Google App Engine operates at the platform layer to provide API support for implementing storage, database and business logic of typical web applications.
At the highest level of the hierarchy, the application layer consists of the actual cloud applications. Different from traditional applications, cloud applications can leverage the automatic-scaling feature to achieve better performance, availability and lower operating cost.
I hope this will help you to understand the services, delivery roles and computing layers of the Cloud.
Finally, I would like to say ‘Cloud is nothing more than someone else computer, but…. With greater flexibility, availability, performance, economic and easier to manage’.