Thuta Learning
BasicDevOps & Toolsintermediate

IaaS, PaaS, and SaaS

What you'll walk away with

  • Explain the core ideas behind IaaS, PaaS, and SaaS
  • Read the diagram/table and identify how these platform categories differ
  • Explain how you would choose the right platform category for a real project

Build the mental model

Every cloud service sits somewhere on an abstraction spectrum.

At one end is IaaS (Infrastructure as a Service): raw compute, storage, and networking. Think of a virtual machine you configure yourself — installing the OS, applying patches, setting up the runtime. You get maximum control, but maximum operational responsibility too.

In the middle sits PaaS (Platform as a Service). The provider manages the OS, runtime, patching, and scaling; you just push your code and the platform runs it, mostly freeing you to focus on application logic.

At the far end is SaaS (Software as a Service): a finished product you simply log into and use. There's nothing left for you to configure or code.

ModelControl & Responsibility
IaaSHighest — you manage OS, runtime, and scaling yourself
PaaSModerate — you focus mainly on writing application logic
SaaSLowest — you simply use the finished product

Not a ranking

IaaS, PaaS, and SaaS aren't a best-to-worst ranking — they're a trade-off dial between control and convenience.

IaaS
Infrastructure as a Service — raw compute, storage, and network resources, where you manage the OS, runtime, and application yourself.
PaaS
Platform as a Service — a managed application platform where the provider handles the OS and runtime, and you just supply the code.
SaaS
Software as a Service — a finished, ready-made product where the provider owns the infrastructure, platform, and application logic entirely.
text
THE ABSTRACTION SPECTRUM
------------------------
THE ABSTRACTION SPECTRUM
--------------------------

MORE CONTROL                              MORE ABSTRACTION
     |                                              |
     v                                              v
  [ IaaS ]  ------->  [ PaaS ]  ------->  [ SaaS ]

  raw compute        managed platform     finished
  storage, network    push code, it runs   product
  you manage OS       provider manages     login and
  + runtime           OS + runtime         use it

  MORE RESPONSIBILITY                 LESS RESPONSIBILITY

Connect it to a real scenario

Remembering IaaS/PaaS/SaaS as theory only helps so much — it clicks better once you can classify a real service from its characteristics.

The function below looks at four booleans — manages the OS, manages the runtime, manages application logic, and ready-to-use product — then returns the matching category.

Raw virtual machine

Nothing managed for you → IaaS

Git-push app platform

OS and runtime managed, but you write the logic → PaaS

Ready-made office tool

Everything managed, just log in → SaaS

As a next step, pick three tools you personally use and fill in their characteristics yourself to check the reasoning holds.

Try the working example

javascript
function classifyService(svc) {
  if (svc.isReadyToUseProduct) return "SaaS";
  if (svc.managesOS && svc.managesRuntime && !svc.managesApplicationLogic) return "PaaS";
  if (!svc.managesOS && !svc.managesRuntime && !svc.managesApplicationLogic) return "IaaS";
  return "Mixed / Unclear";
}

const rawVirtualMachine = {
  managesOS: false,
  managesRuntime: false,
  managesApplicationLogic: false,
  isReadyToUseProduct: false
};

const gitPushAppPlatform = {
  managesOS: true,
  managesRuntime: true,
  managesApplicationLogic: false,
  isReadyToUseProduct: false
};

const hostedOfficeSuite = {
  managesOS: true,
  managesRuntime: true,
  managesApplicationLogic: true,
  isReadyToUseProduct: true
};

console.log("Raw virtual machine:", classifyService(rawVirtualMachine));
console.log("Git-push app platform:", classifyService(gitPushAppPlatform));
console.log("Hosted office suite:", classifyService(hostedOfficeSuite));
You should see
Raw virtual machine: IaaS
Git-push app platform: PaaS
Hosted office suite: SaaS

5-minute try-it

Pick three tools you personally use, fill in the four booleans for each, and compare the classifier's output against your own expectation.

One important caution

Treating PaaS as 'worse than' IaaS instead of a different trade-off point

Assuming a service is a single static category — many modern products blend layers

NIST Definition of Cloud Computing (service models)Cloud Providers & Platforms

Easy traps

  • Treating PaaS as 'worse than' IaaS instead of a different trade-off point
  • Assuming a service is a single static category — many modern products blend layers
  • This course teaches the provider/platform landscape at comparison level only -- for hands-on depth on AWS, Docker, CI/CD, Firebase, or deployment fundamentals, continue to the AWS Fundamentals, Docker, CI/CD, Firebase, or Cloud & Deployment tutorials.

Exercise

Pick three tools you personally use, fill in the four booleans for each, and compare the classifier's output against your own expectation.

You'll know it worked when: Raw virtual machine: IaaS Git-push app platform: PaaS Hosted office suite: SaaS

IaaS, PaaS, and SaaS | Thuta Learning