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
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
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)
Pingback:Creating a large data warehouse in Azure | James Serra's Blog
Pingback:Creating a large data warehouse in Azure - SQL Server - SQL Server - Toad World
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.
thanks for a wonderful explanation. I wonder if you could shed some lights on security as a service.
Pingback:Virtualization does not equal a private cloud | James Serra's Blog
Loved the pizza analogy!
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.