Cloud computing uses resources comprising hardware and software delivered as a remote service over the internet. It may also be used in local networked environments. Cloud computing has diversified into specific segments such as software as a service (SaaS), platform as a service (PaaS), Infrastructure as a service (IaaS), storage as a service and network as a service (NaaS) among others including desktop as a service and data as a service.
In all these areas of cloud computing it may seem that infrastructure as a service and platform as a service mesh together and some may even consider the terms interchangeable. However, these two are distinct and according to a user’s requirements, one is preferable over the other.
Infrastructure as a service (IaaS)
Suppose you choose the IaaS model. What is involved here? In this model the service provider gives you access to hardware setup with a virtualization console such as XEN or KVM or Vmware in a scalable configuration. Facilities such as creating images on virtual machines, firewalls, virtualized local area networks and software bundles may be provided along with the basic hardware offering.
The client or user has to set up everything including operating systems and applications and also has to maintain it, scale applications and manage operations. This means the user has to have in-house developers or employ them to design the software and operational aspects of IaaS services. Users have the benefit of total control of the virtual machines and applications, giving them flexibility and this is ideal when clients move existing localized setups to the cloud. They pay only for the hardware resources used. The downside is that the user has to manage everything calling for greater expense and resource allocation in terms of manpower and labor.
Platform as a Service (PaaS)
In this model the cloud service provider sets up everything including virtualization, operating system and setting up as well as running applications. The service provider takes care of automation, testing and deploying applications including databases and other tools, saving the user time, money and labor on configuring and updating the system. They manage and maintain hardware and software resources, leaving clients free to concentrate on usage and their business. For clients who do not have in-house developers or access to such resources, PaaS is more user-friendly since all they have to do is deploy applications that are then scaled in the background by the service provider. It saves them a lot in operational costs, manpower and labor. The downside is that they have no control over the virtualization or operating system and can only run applications.
Reasons to prefer PaaS over IaaS
Majority of business users would find it daunting to take on the challenging tasks involved in IaaS model such as managing virtualization, databases, security, integration, scalability, runtimes and applications. In the PaaS model all services, except developing and deploying applications, are taken care of by the vendor. In both instances, users pay only for what they use and as such PaaS, though slightly higher priced, works out to be cheaper in the long run, more secure and easier. They can hand over an application to the service provider and request the number of running instances and pay only for usage. It is simpler and cost effective, especially for the small and medium sized businesses.
Image courtesy of bplanet at FreeDigitalPhotos.net