What is SaaS, PaaS and IaaS? With examples

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?


Solution 1:

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.

Solution 2:

Meaning For dummies:

IAAS (Infrastructure As A Service) :

  • The base layer

  • Deals with Virtual Machines, Storage (Hard Disks), Servers, Network, Load Balancers etc

PAAS (Platform As A Service) :

  • A layer on top of IAAS

  • Runtimes (like java runtimes), Databases (like mySql, Oracle), Web Servers (tomcat etc)

SAAS (Software As A Service) :

  • A layer on top on PAAS

  • Applications like email (Gmail, Yahoo mail etc), Social Networking sites (Facebook etc)

To quickly relate consider the below Google's offerings:

IAAS : Google Compute Engine (One can develop programs to be run on high performing google's computing infrastructure)

PAAS : Google App Engine (One can develop applications and let them execute on top of Google app engine which take care of the execution)

SAAS : Gmail, Google+ etc (One can use email services and extend email/google+ based applications to form newer applications)

Popularity

Company Wise Popularity

Cloud computing is dominated by

  1. Amazon Web Services (AWS),
  2. Google Compute Engine, Google App Engine
  3. Microsoft Azure
  4. There are many small and medium scale cloud operators that include IBM, Oracle etc.

Most of the popularity around these services owe to the reputation of the company and the amount of investments being made by these companies around the cloud space.

Type of Service Wise Popularity

  1. PAAS (Platform as a Service) is more popular among developers as they can put all their concentration on developing their apps and leave the rest of management and execution to the service provider. Many service providers also offer the flexibility to increase/decrease the CPU power depending upon the traffic loads giving developers cost effective and easy & effortless management.
  2. SAAS (Software as a service) is more popular among with consumers, who bother about using the application such as email, social networking etc
  3. IAAS (Infrastructure as a service) is more popular among users into research and high computing areas.