Sign in
← Cloud
10 min · easy · Lesson 2 of 2

Cloud models: IaaS, PaaS, SaaS

How IaaS, PaaS, and SaaS differ, who's responsible for what in each model, and how to choose between "take it as a service" and "run it yourself".

How much to hand to the cloud

You can use the cloud in different ways. You can take a bare virtual machine and set up everything yourself, or you can take a ready-made service where you don't see any servers or OS. Between these extremes lie three models: IaaS, PaaS, and SaaS. They differ in how many layers the provider manages and how many you do.

The model decides who patches the OS, who makes backups, and who's responsible when something breaks. Mix it up, and the work falls on no one: you think the provider does it, and the provider thinks it's yours.

The responsibility ladder

An application stack has layers, bottom to top: hardware and data center, virtualization, OS, runtime, application, data. Cloud models differ in where the line falls between "the provider manages this" and "you manage this".

                      IaaS        PaaS        SaaS
data and access       you         you         you
application           you         you         provider
runtime               you         provider    provider
OS                    you         provider    provider
virtualization        provider    provider    provider
hardware, datacenter  provider    provider    provider

The higher the model, the more the provider takes on and the less is left to you. But the top row never changes: data, accounts, and access permissions stay with you in every model.

Providers call this the shared responsibility model. That's the name to search for in a specific cloud's documentation. The terms IaaS, PaaS, and SaaS themselves are defined in NIST SP 800-145.

IaaS: infrastructure as a service

IaaS gives you virtual resources: virtual machines, networks, disks, load balancers. The provider is responsible for the hardware and virtualization, while the OS, runtime, and application are on you. This is what Terraform describes in the IaC lesson: you order a virtual machine and install everything else on it yourself.

The upside of IaaS is maximum control and flexibility. You pay for it in work: patching the OS, configuring services and the firewall, watching over everything yourself.

PaaS: platform as a service

PaaS gives you a platform you push code or data to, without thinking about servers or the OS. A managed database (say, managed PostgreSQL) and services of the "upload code, we run it" kind count as PaaS. The provider maintains the OS, runtime, and updates, while you're responsible for your application, its configuration, and its data.

The upside is less operational work: no patching the OS or manually setting up database replication. In exchange, you lose some control and get tied to the platform.

The line for a specific service can fall differently. Managed Kubernetes usually sits somewhere in the middle: the provider runs part of the cluster, part stays on you. So for every service, check the responsibility model in the provider's documentation instead of guessing from the name.

SaaS: software as a service

SaaS is a ready-made application you just use: email, a task tracker, a CRM. You don't see servers, the OS, or code, only an account and settings. The provider maintains everything except your data, users, and settings.

How to choose

A simple rule: take as a service whatever gives you no competitive advantage, and keep whatever does. There's no point running your own mail server (take SaaS) or manually patching a database (take a managed database) unless that's your core business. You keep your application's unique logic under your own control.

The higher the model, the less operational work and the less control. The choice is always a balance between "less hassle" and "more control and independence". In a real system, models mix: the application on virtual machines (IaaS), the database in a managed service (PaaS), backups in object storage, tasks in a SaaS tracker.

Common mistakes

What you'll need for the tasks

Done reading?

Mark the lesson as read to move your track progress forward.

Go through it with an AI agent

The agent explains anything unclear in plain words, gives you 2 labs for this lesson and drills you on interview questions. $49 one-time, lifetime access.

Get access for $49

Tell the agent: use MCP izi, give me lesson cloud-basics-02-iaas-paas-saas