D1 · Cloud Concepts

IaaS, PaaS, SaaS, and Serverless

Service models are the heart of the AZ-900. They're not just definitions — they're architecture decisions with real implications for cost, responsibilities, and development speed.

Interactive diagram — hover over each row

The layered model — from more control to less

The question that defines the model

The IaaS, PaaS, and SaaS models aren't about capabilities — they're about who manages which layer of the stack and how much of your team's time you're going to invest in infrastructure instead of in your product.

IaaS

Land with basic services

You have the land (infrastructure). You build the house (OS, runtime, app) from scratch. Maximum control, maximum work.

Your control85%
Your infra work85%

PaaS

Empty house ready to move into

The house is already built (OS, runtime). You just bring the furniture (your code and data). Less control, much less work.

Your control40%
Your infra work30%

SaaS

Furnished apartment for rent

Everything included. You just live in it (use the app). You don't decide how it's built or what furniture it has. Minimum control, zero infrastructure work.

Your control10%
Your infra work5%
Icon-compute-21

IaaS — Infrastructure as a Service

Exact definition (AZ-900)

provides IT infrastructure (virtual servers, storage, networking) on demand over the internet. The provider manages the physical hardware; the customer manages the operating system, middleware, runtime, and application.

When IaaS is the right answer

  • Lift-and-shift migration: You move an app running on Windows Server 2016 on-prem. You need the same OS, the same configuration. IaaS gives you exactly that.
  • Special licensing: SQL Server Enterprise with a "per socket" license. Windows Server with its own CALs. Bring Your Own License (BYOL) only works well on IaaS.
  • OS control: An app that modifies kernel settings, installs specific drivers, or needs exact versions of OS libraries.
  • Predictable performance: HPC workloads, GPU computing (machine learning), databases that need specific I/O.
  • Compliance with full control: Regulations requiring specific OS hardening, OS-level audit configuration, or OS-level vulnerability scanning.

The hidden cost of IaaS

An IaaS server isn't "cheap". Calculate the TOTAL cost:

  • VM D4s_v3 (4 vCPU, 16 GB RAM): $0.20/hour = $1,460/year
  • Windows Server patching: 14h/month × sysadmin = $2,100/year
  • Antivirus/EDR: $150/VM/year
  • Monitoring agent + storage logs: $300/VM/year
  • Backup (Azure Backup): $200/VM/year
  • Real total: ~$4,210/VM/year vs list price $1,460

IaaS on Azure — main services

Azure Virtual Machines

Windows and Linux VMs. Dozens of sizes (general, compute, memory, storage, GPU)

Azure Virtual Machine Scale Sets

Groups of identical VMs with horizontal auto-scaling

Azure Managed Disks

SSD/HDD disks for VMs. Premium SSD, Ultra Disk, Standard SSD

Azure Virtual Network

Private network for VMs. Subnets, NSGs, Route Tables

Icon-web-41

PaaS — Platform as a Service

Exact definition (AZ-900)

provides an environment for developing, testing, and deploying applications without managing the underlying infrastructure. The provider manages the hardware, OS, middleware, and runtime; the customer manages the code and the data.

What PaaS delivers (not marketing, reality)

  • Automatic patching: Never again a "patch Tuesday" for the OS. Azure App Service patches itself during nightly maintenance.
  • Automatic scaling: Define rules (CPU > 70% → +1 instance). Or use Premium with elastic auto-scale based on custom metrics.
  • Built-in high availability: Standard tier in App Service: automatic replication across AZs. 99.95% SLA included.
  • Deploy in seconds: GitHub Actions → Azure → live in 2 minutes. No SSH, no copying files.
  • Native observability: Application Insights built-in: traces, metrics, exceptions, dependencies. No extra agent.

The real limitations of PaaS

  • Vendor lock-in: App Service only runs on Azure. Migrating to AWS means rewriting or using containers. Containers = less lock-in but more complexity.
  • Platform limits: App Service Basic: 1 GB RAM per instance. If your app needs 3 GB, you must upgrade tier (expensive) or use IaaS.
  • Complicated debugging: No SSH to the underlying server. Remote debugging via kudu, log streaming. Learning curve.
  • Fixed runtime versions: Azure controls which .NET/Node/Python versions are available. If you need a very new or very old version, it might not be available.
  • Different behavior: Some libraries behave differently on PaaS vs a VM. Especially with file paths, permissions, and OS libraries.

PaaS on Azure — main services

Web/API

Hosting for web apps, REST APIs, backends. .NET, Node, Python, Java, PHP, Ruby.

Database

Azure SQL Database

Managed SQL Server. Automatic patching, automatic backups, scaling.

Containers

Managed Kubernetes. Microsoft manages the control plane. You manage the nodes.

NoSQL

Azure Cosmos DB

Globally distributed multi-model database. 99.999% SLA.

Messaging

Azure Service Bus

Enterprise message queue and pub/sub. For decoupling microservices.

Streaming

Azure Event Hub

Ingestion of millions of events/second. For IoT and telemetry.

SaaS — Software as a Service

Exact definition (AZ-900)

lets users connect to and use cloud-based applications over the internet. The provider manages all the infrastructure, middleware, software, and application data. The user simply accesses the app.

What you gain with SaaS

  • Zero infrastructure: No servers to manage. No OS, no app, no runtime. Zero ops.
  • Automatic updates: Microsoft ships a new version of Teams → all users get it without doing anything.
  • Access from anywhere: Web browser or mobile app. No VPN, no complex client installation.
  • Ultra-fast onboarding: Add 100 new users = create 100 licenses. No installation on their machines.
  • Provider SLA: Microsoft 365 SLA: 99.9% uptime. Backed by Microsoft's global redundancy.

What you lose with SaaS

  • You don't decide when the app updates
  • You can't change the interface or behavior
  • Data lives on Microsoft's servers
  • If Microsoft changes pricing, it affects you
  • Microsoft outages = your company without its tools
  • Complex integration with legacy apps can be difficult

Microsoft SaaS — exam examples

Microsoft 365 (Office 365)

Word, Excel, PowerPoint online + Exchange + SharePoint + Teams. Complete productivity suite.

Microsoft Teams

Communication and collaboration. Chat, video calls, shared docs.

Microsoft Intune

Mobile device management (MDM). SaaS for managing endpoints.

Microsoft Defender for Business

Endpoint security as a service. No antivirus infrastructure to manage.

Power BI (cloud service)

Business Intelligence as a service. Dashboards and reports without servers.

Dynamics 365

CRM and ERP as a service. Sales, finance, operations in SaaS.

Icon-compute-29

Serverless / FaaS — The model the exam doesn't always mention

Serverless is technically a subset of PaaS, but different enough in billing model and operation that it deserves its own section. The AZ-900 mentions it as part of PaaS.

What is serverless really?

"Serverless" doesn't mean there are no servers — the servers exist. It means you don't manage servers, not even conceptually. You don't define how many instances, you don't define the OS, you don't define the runtime (just the language). And you only pay for executions, not for servers on standby.

Billing unit

PaaS

Per hour of active server

Serverless

Per execution + GB-second

Idle server

PaaS

You pay even without requests

Serverless

$0 if there are no executions

Scaling

PaaS

Manual or auto-scale rules

Serverless

Automatic and instant

Management

PaaS

You configure app plan, instances

Serverless

You just write code

Cold start

PaaS

No cold start (server always active)

Serverless

100-500ms if it was idle

Ideal for

PaaS

Apps with constant traffic

Serverless

Sporadic APIs, events, automation

Serverless services in Azure

FaaS

Individual functions triggered by events (HTTP, queue, timer, blob). Pay per execution.

FaaS

Azure Logic Apps

Serverless visual workflows. Connect services without code.

FaaS

Azure Container Apps

Serverless containers — no Kubernetes to manage. Scales to zero.

FaaS

Azure SQL Serverless

Database that pauses automatically when there's no activity. $0 when idle.

Map of Azure services by model

The exam may ask you which category a specific service falls into.

Azure serviceIaaSPaaSSaaSNote
Azure Virtual Machines✓Pure IaaS. You manage the OS.
Azure Managed Disks✓Storage for VMs.
Azure Virtual Network✓Virtual network, IaaS.
Azure App Service✓PaaS. Microsoft manages OS/runtime.
Azure SQL Database✓PaaS. Microsoft manages SQL Server.
Azure Kubernetes Service✓PaaS (managed control plane). Nodes are IaaS.
Azure Functions✓Serverless, subset of PaaS.
Azure Cosmos DB✓PaaS. Fully managed DB.
Microsoft 365✓SaaS. Everything managed by Microsoft.
Microsoft Teams✓SaaS (part of M365).
Dynamics 365✓SaaS. Fully managed CRM/ERP.
Power BI (cloud)✓SaaS. Managed BI service.
Azure Blob Storage✓PaaS. Managed storage (not IaaS).

Total cost comparison

Web app with 10k users/day, 500 GB data, 99.9% . Team of 5 developers.

Cost componentIaaS (VMs)PaaS (App Service)
Cloud infrastructure~$15,000/year (5 B4ms VMs)~$8,000/year (P2v3 × 2)
OS patches and updates~$3,000/year (8h/month × SRE)$0 (automatic)
Monitoring and observability~$1,200/year (Azure Monitor + agents)~$600/year (App Insights)
Backups and DR~$1,500/year (Azure Backup)~$500/year (built-in + retention)
Antivirus / Defender~$600/year (5 VMs)$0 (no OS access)
Dedicated ops staff0.5 FTE SRE = ~$40,000/year0.1 FTE = ~$8,000/year
Annual total~$61,300/year~$17,100/year

Conclusion: PaaS is 72% cheaper in this scenario

The difference isn't in the cloud price — it's in the ops staff cost. PaaS eliminates ~0.4 FTE of operations by eliminating OS management. At $100k/year for an SRE, that's $40k in savings. Plus the developers' time not spent on infrastructure.

How to choose the right model

The AZ-900 golden rule: always start from the least control necessary.

Decision process → from SaaS toward IaaS

1

Does a SaaS exist that solves exactly your need?

YES → Use SaaS. (e.g., you need corporate email → Microsoft 365)

2

Can you deploy your app without managing the OS?

YES → Use PaaS. (e.g., a Node.js web app → Azure App Service)

3

Do you have an event-driven workload with highly variable traffic?

YES → Consider Serverless before full PaaS. (e.g., image processing on upload → Azure Functions)

4

Do you need OS control, specific drivers, or special licensing?

YES → Use IaaS. (e.g., a legacy app that only runs on Windows Server 2016 with a specific config)

Golden rule for the exam: The AZ-900 always expects you to choose the model that requires the LEAST work on your part, unless there's an explicit reason to need more control. If the scenario doesn't mention a specific reason to need the OS → PaaS. If it doesn't mention a reason for PaaS → SaaS (if the SaaS option exists for that case).

Did you get this topic?

Test what you just learned

A development team wants to deploy its application without worrying about the operating system, patches, or servers. Which service model should they choose?

Ready to test "IaaS, PaaS, and SaaS"?

Put what you learned to the test with original AZ-900 exam questions.

Start AZ-900 mock exam

Unlimited mock exams with the Pro plan

Log in to track your progress.