IaaS, PaaS, and SaaS explained

You might be reading a lot about Cloud computing and see three acronyms frequently: IaaS, PaaS, Saas.  Cloud providers offer their services according to these three fundamental models:

Infrastructure-as-a-service (IaaS)

This is the most basic model which is essentially your virtual machines in a cloud data center.  You set up, configure, and manage VMs that run in the data center infrastructure, and you put whatever you want on them.  A hypervisor such as Hyper-V runs the virtual machines as guests.  Pools of hypervisors installed at a data center can support large numbers of virtual machines and the ability to scale services up and down according to customers’ varying requirements.  Windows Azure, Hortonworks Data Platform, Amazon Elastic Compute Cloud (EC2)Rackspace, and Google Compute Engine are the most popular examples.

Traits of IaaS:

  • You Build/Upload Virtual Machines to a DC on the Internet – e.g. Windows Azure
  • You PAY for time/resources used and the software in your VM’s
  • Your virtual machines RUN on hardware shared with other organizations
  • You manage ALL aspects of the software stack inside your virtual machines
  • You perform OS updates and manage runtime and middleware
  • VM’s can be moved to/from the Cloud and your own data center
  • App development is unchanged

Platform-as-a-service (PaaS)

With PaaS, a provider delivers a computing platform, typically including operating system, programming language execution environment, database, and web server.  You don’t have to worry about OS updates or managing runtime and middleware.  The provider manages the hardware and software infrastructure and you just use the service.  It is usually a layer on top of IaaS.  Examples are Microsoft Azure SQL Database, HDInsight, AWS Elastic Beanstalk, Windows Azure BLOB Storage, and Google App Engine.

Using a Windows Azure BLOB Storage example:

  • You SUBSCRIBE to the service and create a unique name
  • You GIVE Blobs(Files) to the Storage Service – simple API or REST
  • The service provides resilience and scale, you don’t have to.
  • You ask for them back – you don’t care or know where they really are (which VM’s)
  • The service and the fabric controller make sure your data is stored so there is no single point of failure
  • You pay for the amount of storage you use – the service manages everything
  • The service can also geo-replicate, provide disaster recovery

Software-as-a-service (SaaS)

With SaaS, users are provided access to application software and databases. Cloud providers manage the infrastructure and platforms that run the applications.  SaaS is sometimes referred to as “on-demand software”.  Google Apps (which includes GMail), Salesforce, and Microsoft Office 365 are good examples.

Traits of SaaS:

  • Complete apps you use
  • Subscribe, on-board, normally pay for the # of users who use the app
  • No access to underlying platform
  • Software may support some customizations
  • Shared hardware, platform and finished software across multiple customers
  • A layer on top of PaaS

To summarize, when you have a data center on site, you manage everything.  When it’s infrastructure as a service, part of that stack is outsourced to a vendor.  With platform as a service, you’re responsible for the application and data – everything else is outsourced to the vendor.  With software as a service, you outsource everything.  Using a “pizza-as-a-service” analogy:

  • On Premise = you buy everything and make the pizza at home
  • IaaS = take and bake (pick up the pizza, you cook it at home)
  • PaaS = pizza delivered
  • SaaS = dining in the restaurant

01-Comparison2

More info:

Windows Azure – Write, Run or Use Software

But what can I *do* with Windows Azure? Create (Free) Websites and Applications

IaaS, PaaS and SaaS Terms Clearly Explained and Defined

Cloud Jargon Unwound: Distinguishing SaaS, IaaS and PaaS

What Is Cloud Computing?

Cloud Service Models (IaaS, SaaS, PaaS) + How Microsoft Office 365, Azure Fit In

Microsoft Azure for Enterprises

Cloud Models (IaaS, PaaS, SaaS) explained with examples

Pizza as a Service – On Prem, IaaS, PaaS and SaaS Explained through Pie (not Pi)

Microsoft Azure Cloud Services Part 1: Introduction

About James Serra

James is a big data and data warehousing solution architect at Microsoft. Previously he was an independent consultant working as a Data Warehouse/Business Intelligence architect and developer. He is a prior SQL Server MVP with over 25 years of IT experience.
This entry was posted in SQLServerPedia Syndication. Bookmark the permalink.

7 Responses to IaaS, PaaS, and SaaS explained

  1. Pingback: Creating a large data warehouse in Azure | James Serra's Blog

  2. Pingback: Creating a large data warehouse in Azure - SQL Server - SQL Server - Toad World

  3. Narendra says:

    Very nice informative explanation. The examples specified provides more understanding and gives more idea about these components.
    Thanks James!
    This blog helped me understand these 3 important components of Cloud in an easy way.

  4. Amir says:

    thanks for a wonderful explanation. I wonder if you could shed some lights on security as a service.

  5. Pingback: Virtualization does not equal a private cloud | James Serra's Blog

  6. Kapil says:

    Loved the pizza analogy!

  7. Erin Maccabe says:

    Informative article James!! It was nice to know more these three as it is often that they are interchanged by others that know little about them. This article is also timely as more and more are turning their on-premise traditional setup into SaaS/Cloud because of its many benefits namely: scalability, pay-per-use subscription, hassle-free updates, data security and privacy, flexibility and rapid to implement. There are also support teams/experts (e.g. Lirik – http://lirik.io/) that are widely available to answer queries about SaaS and help maximize SaaS end user experience.