Fundamentals of Cloud Computing: Service Models

In this article, I shall attempt to provide a detailed explanation of Service Models which happen to be the basic building blocks of Cloud Computing.

Whenever we deal with anything remotely relevant to Cloud Computing we have to take into consideration Service Models which basically provide the impetus for the service providers to give permission to customers accessing their resources which can be scaled and managed with minimum administrative skills or knowledge. A Cloud system must always be able to allocate additional resources for resource-hungry demands and requirements by any tenant or customer at any specific point of time while making efficient usage of all available as well as usable computing resources. Along with the provision of resources for some decent fee, it is imperative for the service provider to make the UI of the Cloud platform – usable and simple while having prospects for all kinds of automation. Automation is the key – the cloud system should be able to run and serve its users without no or least human intervention at the service provider’s end.

Cloud resources must always be available on the network and for universal access by its rightful users and this is what serves as the service model for Cloud Computing. The definitive explanation of service models has to be emphasized upon in three ways because obviously – there are three service models of Cloud Computing.

  • Software as a Service (SaaS): Service Providers offer their Software which serves some function and which can be utilised by the respective customers. Service providers manage all aspects of the software including that of security and backup along with timely updates and maintenance. Additionally, they also manage the hardware components relevant to the services for the end-users. There have been numerous other software service providers specialized in different verticals who are gradually shifting or cloning their Cloud-based SaaS applications.
  • Platform as a Service (PaaS): These are the kind of services useful for developers and solution providers. Such services, provision development environments and avail the programming libraries, thus providing all kinds of features for effective application development. These service providers provide tools for quick deployment and maintenance of software applications. A platform must be capable of handling administrative tasks like upgrading Operating System patches, updating auxiliary software hosted on it and managing as well as scaling network resources with hundred per cent automation. It is important to note that a number of open-source technologies are also being integrated into this regime. Google Cloud Platform and Microsoft Azure Cloud Platform come under this category.
  • Infrastructure as a Service (IaaS): This remains at the core of a cloud system where service providers access servers, storage and network utilities for use as services. Cloud infrastructure equipped with different software tools like hypervisor and cloud orchestration toolkits, provides an interface between the user and the actual existing physical infrastructure. Rackspace and Amazon are two prominent players in this tier of Cloud Computing albeit almost all primary web hosting companies have made their way into this Service model recently.

It is to be noted that the same provider can offer all three types of service models thereby creating a larger ecosystem. For instance – Microsoft provides Azure in the PaaS model whereas its Windows Azure and SQL Azure are offered in the SaaS model. Similarly, Rackspace provides its Cloud Services in the IaaS model but a lot of different service providers who deliver in PaaS and IaaS model have built their offerings based on Rackspace’s infrastructure and thus creating a larger ecosystem on the Cloud.

Illustration of the service models

The aforementioned service models bring in changes to IT systems where different tiers of services can be conceived and hence provide brilliant means to classify and describe relevant technologies.

The above illustration shows the integration of a software stack into the cloud system exactly the way we had discovered how three sets of software tools were to fit in a cloud system. We shall take this illustration as the fundamentals to classify different technologies relevant to Cloud Computing and hence term it as Cloud Technology Stack. I will be writing on Cloud Technology Stack in my upcoming articles so stay tuned for them.

A cloud system must have five essential cloud characteristics, three sets of service models and four ‘Deployment Models’. These refer to the ways a cloud system is deployed in practice. While I have explained the former two in this article I have planned to write on Deployment Models in my next one because there is an unfeigned belief in me which compels me to come up with another article on the latter one because it would be wrong to simply provide a brief explanation on it. It needs a bit of an understanding hence the concept of ‘Deployment Models’ will be dealt with in the next article which I shall be publishing soon!

Posted in Technology