In this age of Cloud Computing, you would often come across the term "As a Service".
Among these terms, you would frequently hear 3 terms as Saas, Paas and Iaas. If you
often get confused while trying to understand the exact difference between these 3
terms, then this post is for you. Read on...
In cloud computing, Vendors provide many different types of "as a service" offerings.
Out of those, 3 types of services are common:
- SaaS
SaaS stands for Software as a Service. This includes all the ready made software
offerings on the cloud in the form of applications which shall be used by the end user.
In this type of offering, every associated service like application maintenance and
upgrade, hardware capital expenditure, data center networking, power, cooling related
maintenance is taken care by the vendor.
For e.g. Cloud based CRM, Cloud based ERP softwares, Cloud based HRMS applications, etc.
These services are available to be used over a browser.
- PaaS
PaaS stands for Platform as a Service. This category includes a combination of
hardware and software layer offerings which primarily acts as a platform for you to
develop a full fledged software application on top of that. This type of service is
primarily used by Developers, QA Analysts or System Admins. In this type of offering,
software application development, maintenance and deployment is taken care by the
Customer, while the other aspects like OS upgrade, Investments related to hardware
setup, networking, data center maintenance is taken care by the Vendor.
Commonly used PaaS examples include .NET, Java, Node based application servers using
services like Openshift, AWS Beanstalk, Azure, Heroku, etc.
- IaaS
IaaS stands for Infrastructure as a Service. This includes the hardware and some
associated virtualization or hypervisor layer offerings which is essentially a complete
Virtual Private Server given to you with root access to that server so that you can use
it like just another computer which is connected to the internet or cloud 24x7. This
type of service is primarily operated by System Admins or Infrastructure Architects at
the organizations which are developing complex applications where they would need more
control of the server OS and its configurations. In this offering, everything up-to the
Operating System layer has to be managed by the Customer while other aspects like its
hardware, data center networks, storage are managed by the vendor.
Common example of this type of offering include Linux based Virtual Private Servers,
Windows based Virtual Private servers, to which you can login using Remote Desktop
Connection via Windows client or Putty terminal etc.
Below is the diagram which gives a clear demarcation between the three types of offering
based on the ownership assigned for each of the computing layers in each type.
Hope the above diagram would help you understand the differences in a comprehensive
manner.