Thuta Learning
IntermediateDevOps & Toolsbeginner

Cloud Computing and Service Models (IaaS/PaaS/SaaS)

What you'll walk away with

  • Explain the core ideas behind Cloud Computing and Service Models (IaaS/PaaS/SaaS)
  • Read the diagram and trace how a request or data flows through the architecture
  • Explain what this means for your own project's decisions

Build the mental model

Cloud computing means using computing resources — servers, storage, databases, networking — provided over a network by someone else, rather than owned on your own hardware. "Someone else's computer" is a common joke, and a reasonable starting point.

But that undersells it. Cloud platforms provide managed services — databases that handle their own backups, storage built to survive hardware failure, networking a specialized team would otherwise need to build. You're renting expertise, not just a machine.

ModelControl vs Convenience
IaaSMost control — you manage the OS and runtime; typical use: custom server setups, specialized workloads.
PaaSBalanced — deploy code, the platform manages servers and scaling; typical use: most web applications.
SaaSMost convenience — use a finished app, nothing to manage; typical use: email, CRM, support tools.

Moving from IaaS toward SaaS trades control for convenience, and neither end is universally correct — the right choice depends on what a project actually needs to manage itself.

IaaS
Infrastructure as a Service — rents raw computing building blocks (virtual servers, storage, networking); you manage the OS and everything above it.
PaaS
Platform as a Service — you deploy application code; the platform manages the underlying servers, OS, and scaling automatically.
SaaS
Software as a Service — you use a finished application over the internet, with no infrastructure of any kind to manage.
text
IAAS TO SAAS: ABSTRACTION INCREASES
-----------------------------------
[MORE CONTROL, MORE WORK]                [LESS CONTROL, LESS WORK]

    IaaS      -------->      PaaS      -------->      SaaS
(servers,               (deploy code,            (use the app,
 storage,                 platform                 nothing to
 networking)              handles rest)            manage)

Connect it to a real scenario

Choosing a model usually comes down to operational responsibility. Deep control over the OS or specific versions points to IaaS; writing code without configuring servers points to PaaS; needing a capability rather than a platform points to SaaS.

Most real organizations mix models rather than picking one for everything — core application on PaaS, several SaaS tools for internal operations, one specialized workload on IaaS because it needs a configuration no managed platform offers.

  • Do you need control over the OS or specific software versions? -> IaaS
  • Do you just want to deploy code and let the platform handle servers? -> PaaS
  • Do you just need a working tool, not a platform to build on? -> SaaS

Try the working example

javascript
function recommendModel(wantsToManage) {
  if (wantsToManage === "servers-and-os") return "IaaS";
  if (wantsToManage === "just-my-code") return "PaaS";
  return "SaaS";
}

const preferences = ["servers-and-os", "just-my-code", "nothing-just-use-the-app"];

for (const pref of preferences) {
  console.log(`${pref} -> ${recommendModel(pref)}`);
}
You should see
servers-and-os -> IaaS
just-my-code -> PaaS
nothing-just-use-the-app -> SaaS

5-minute try-it

Add a fourth preference string, such as 'i-just-need-email', to the preferences array and extend recommendModel() with one more condition so it correctly returns 'SaaS' for it without breaking the existing three cases.

One important caution

Choosing IaaS for a simple web app that would run fine on PaaS, taking on server maintenance work that buys nothing.

Assuming SaaS tools require zero decisions — data ownership, export options, and vendor lock-in still matter.

NIST SP 800-145: The NIST Definition of Cloud ComputingCloud & Deployment

Easy traps

  • Choosing IaaS for a simple web app that would run fine on PaaS, taking on server maintenance work that buys nothing.
  • Assuming SaaS tools require zero decisions — data ownership, export options, and vendor lock-in still matter.
  • Never assume that working on localhost means it will work in production -- environment, network, database, and security differences can all bite.

Exercise

Add a fourth preference string, such as 'i-just-need-email', to the preferences array and extend recommendModel() with one more condition so it correctly returns 'SaaS' for it without breaking the existing three cases.

You'll know it worked when: servers-and-os -> IaaS just-my-code -> PaaS nothing-just-use-the-app -> SaaS

Cloud Computing and Service Models (IaaS/PaaS/SaaS) | Thuta Learning