What is SaaS, PaaS and IaaS? With examples

RT_ picture RT_ · May 29, 2013 · Viewed 489k times · Source

What do the following terms mean?

  • SaaS
  • PaaS
  • IaaS?

There are various cloud services available today, such as Amazon's EC2 and AWS, Apache Hadoop, Microsoft Azure and many others. Which category does each belong to and why?

Answer

Tariq picture Tariq · May 29, 2013

IaaS, PaaS and SaaS are cloud computing service models.

  • IaaS (Infrastructure as a Service), as the name suggests, provides you the computing infrastructure, physical or (quite often) virtual machines and other resources like virtual-machine disk image library, block and file-based storage, firewalls, load balancers, IP addresses, virtual local area networks etc.

    Examples: Amazon EC2, Windows Azure, Rackspace, Google Compute Engine.

  • PaaS (Platform as a Service), as the name suggests, provides you computing platforms which typically includes operating system, programming language execution environment, database, web server etc.

    Examples: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos.

  • While in SaaS (Software as a Service) model you are provided with access to application software often referred to as "on-demand software". You don't have to worry about the installation, setup and running of the application. Service provider will do that for you. You just have to pay and use it through some client.

    Examples: Google Apps, Microsoft Office 365.

Few additional points regarding your question:

  1. AWS (Amazon web services) is a complete suite which involves a whole bunch of useful web services. Most popular are EC2 and S3 and they belong to IaaS service model.

  2. Although Hadoop is based on previous works by Google(GFS and MapReduce), it is not from Google. It is an Apache project. You can find more here. It is just a distributed computing platform and does not fall into any of these service models, IMHO.

  3. Microsoft's Windows Azure is again an example of IaaS.

As far as popularity of these services is concerned, they all are popular. It's just that which one fits into your requirements better. For example, if you want to have a Hadoop cluster on which you would run MapReduce jobs, you will find EC2 a perfect fit, which is IaaS. On the other hand if you have some application, written in some language, and you want to deploy it over the cloud, you would choose something like Heroku, which is an example of PaaS.