Beginner · What cloud computing is · topic 2 of 50 · 25 min
IaaS, PaaS, SaaS and serverless
Explanation
Why service models matter
Every running app needs the same layers: networking, physical servers, storage, virtualisation, an operating system (OS), a runtime such as Python or Java, your application code, and your data. The service model tells you which of those layers you manage and which the provider manages. That decides how much work you do, how much control you have, and which security tasks are yours.
IaaS: Infrastructure as a Service
You rent virtual machines (VMs), disks and networks. A virtual machine is a software computer that runs on a real server, sharing it safely with other VMs. You choose the OS, install software, patch it and keep it running. Examples: Amazon EC2, Azure Virtual Machines, Google Compute Engine. Choose IaaS when you need full control, such as an old app that needs a particular OS setting.
PaaS: Platform as a Service
You give the platform your code; it provides the OS, runtime, scaling and load balancing. Examples: AWS Elastic Beanstalk, Azure App Service, Google App Engine. Managed databases such as Amazon RDS are also platform services: you use the database, the provider patches and backs up the server under it. Choose PaaS when you want to ship features, not manage servers.
SaaS: Software as a Service
You use complete software through a browser or app, usually on a monthly plan per user. Examples: Gmail and Google Workspace, Microsoft 365, Salesforce, and Zoho (an Indian company from Chennai whose mail, CRM and accounting apps are used by many Indian businesses). You only manage your data, your users and your settings.
In between: FaaS and CaaS
- FaaS (Function as a Service), also called serverless: you upload small functions that run when an event happens (an HTTP request, a file upload) and pay per request and per millisecond. There are still servers, you just never see them. Examples: AWS Lambda, Azure Functions, Google Cloud Run functions.
- CaaS (Containers as a Service): you package your app as a container image and the provider runs it. Examples: Amazon ECS, Azure Container Apps, Google Cloud Run. Containers come in module 8.
Who manages what
| Layer | On-premises | IaaS | PaaS | SaaS |
|---|---|---|---|---|
| Data and users | You | You | You | You |
| Application code | You | You | You | Provider |
| Runtime (Python, Java, Node.js) | You | You | Provider | Provider |
| Operating system | You | You | Provider | Provider |
| Virtualisation | You | Provider | Provider | Provider |
| Servers, storage, networking | You | Provider | Provider | Provider |
| Data centre, power, cooling | You | Provider | Provider | Provider |
Read the table from the bottom up. Each step to the right hands one more layer to the provider. Your data and your users stay with you in every model.
The same app three ways
Imagine a college result portal. On IaaS you launch a Linux VM, install Python and a web server, copy your code and patch the OS every month. On PaaS you push your code to App Service or Elastic Beanstalk and it runs. On SaaS you would not build anything: you might buy an existing exam-management product and just upload marks.
Need help?
Stuck on a word or an idea? Search this course, or every course, and jump straight to the explanation or a worked question.
Try:
Watch the lesson
IaaS, PaaS, SaaS and serverless · 1/7
Service models tell you how much of the computer stack you manage, and how much the provider manages for you.
Prefer a video by a teacher? Find free videos on “IaaS PaaS SaaS explained pizza as a service” on YouTube ↗
In real life: A Bengaluru startup picks a model for each job
A small fintech startup in Bengaluru uses all three models at once. Its staff email and documents run on Google Workspace (SaaS). Its customer API runs on a PaaS (App Service in one team, Elastic Beanstalk in another) so the four developers never patch servers. One legacy fraud-scoring program needs a special Linux library, so it runs on a single EC2 VM (IaaS), and an engineer patches it every month. Image thumbnails for KYC uploads are made by a Lambda function (FaaS) that runs only when a file arrives.
Practice (0/3 done)
Your team uploads Python code to Azure App Service, and Azure runs and patches the servers. Which model is that?
Write serviceModel(manages). manages is an array of the layers the CUSTOMER looks after, chosen from "servers", "os", "runtime", "application" and "data". Return "On-premises" if the customer manages the servers, otherwise "IaaS" if they manage the OS, otherwise "PaaS" if they manage the application, otherwise "SaaS".
Classify each service as IaaS, PaaS, SaaS, FaaS or CaaS, with one line on why: Amazon EC2, Zoho Books, Google App Engine, AWS Lambda, Microsoft 365, Google Cloud Run, Azure Virtual Machines.
Quick quiz
Read more (free)
Related help
Before this, learn
This topic builds on these. If something here feels new, open them first.
Related topics
- Public, private, hybrid and multi-cloudWhat cloud computing is · same module
- Regions, availability zones and edge locationsWhat cloud computing is · same module
- Deploying to the cloudBackend Development · Deployment and scaling
- Choosing where to run a containerContainers in the cloud
- The shared responsibility modelCyber Security: from zero to SOC analyst · Cloud security basics
- Core Google Cloud servicesGoogle Cloud and comparing the clouds
Questions people ask about this
Open a question to see the answer and why. The first ones are this topic's own quiz, so try the quiz above before you peek.
In IaaS, who patches the guest operating system of a VM?
Answer: The customer
In IaaS the provider runs the hardware and virtualisation; the OS and above are yours.
Which one is SaaS?
Answer: Gmail
Gmail is finished software you use; the others are infrastructure or platform services.
What does "serverless" really mean?
Answer: You do not manage the servers; the provider does
Servers still exist. You just never see, size or patch them, and you pay per use.
Which layer do YOU manage in every model, even SaaS?
Answer: Your data and who can access it
Data and user access stay the customer's job in IaaS, PaaS and SaaS.
Which task stays with the customer in IaaS, PaaS AND SaaS?Related
Answer: Managing who can access the data
Data and user access are always the customer's job.
You give a platform your code and it handles servers, OS and HTTPS. Which model is this?Related
Answer: PaaS
PaaS runs your code for you; IaaS gives you a bare server to manage.
Which is a PaaS option that can run web apps from code or containers without Kubernetes?Related
Answer: Azure App Service
Azure App Service (and AWS Elastic Beanstalk) are platforms as a service.
In every cloud model, who is responsible for the customer's data and user access?Related
Answer: The customer
Data and identities are always on the customer side.
Pass the quiz (60% or more) or mark this topic as done when you are ready.
Your progress is saved on this device only.
Next steps
- 3 more topics in “What cloud computing is” before its exam: Public, private, hybrid and multi-cloud, Regions, availability zones and edge locations, The shared responsibility model.
- Module 1 exam: What cloud computing is · 13 questions · 20 min, without help. 5 topics of this module still to finish first.
- Then the next module, AWS account, IAM and billing. 50 topics left in the course before the final exam.