Cloud Tech by Victor
DevOpsBeginner

Cloud Service Models

What actually distinguishes IaaS, PaaS, and SaaS, why the boundary is "who manages what," and how the shared responsibility model determines what you're on the hook for at each layer.

Updated 2026-07-223 min read

Overview

Cloud service models describe how much of the infrastructure stack a provider manages on your behalf, from raw compute up through a fully hosted application. The three common tiers, Infrastructure as a Service, Platform as a Service, and Software as a Service, aren't different technologies so much as different lines drawn across the same stack, and that line directly determines both your operational burden and your share of security responsibility. Picking the right model for a given workload is a trade-off between control and convenience, not a strict hierarchy where higher is always better.

Quick Reference

ModelYou manageProvider managesExample
IaaSOS, runtime, app, data, configPhysical hardware, virtualization, networkRaw virtual machines
PaaSApp code, data, configOS, runtime, scaling infrastructureManaged app platforms
SaaSConfiguration, data, accessEverything else, including the appHosted productivity/CRM tools

Syntax

hcl
# IaaS - you provision and manage the VM's OS yourself
resource "aws_instance" "app" {
  ami           = "ami-0abcdef1234567890"
  instance_type = "t3.small"
}
yaml
# PaaS - you only describe the application; the platform
# manages the OS, runtime, and scaling underneath it.
name: checkout-api
runtime: nodejs20
instances: 2

Examples

bash
# IaaS: you're responsible for OS patching, runtime installation,
# and scaling policy - full control, full operational burden.
ssh ec2-user@app-instance
sudo apt-get update && sudo apt-get upgrade -y

The shared responsibility line moves with the model

For IaaS, you patch the OS. For PaaS, the provider does. For SaaS, there's no OS to think about at all, but your responsibility for access control and data never goes away, at any tier.

Visual Diagram

Common Mistakes

  • Assuming a cloud provider is responsible for something the shared responsibility model actually places on the customer, most commonly, IAM configuration and data encryption, both of which are always the customer's job regardless of service model.
  • Choosing PaaS or SaaS purely to reduce cost, without checking whether the workload actually fits the platform's constraints, forcing a fit often costs more in workarounds than it saves in operations.
  • Treating "serverless" as a fourth, entirely separate category; it's more precisely understood as an extreme point on the PaaS spectrum, where even instance/server-count management is abstracted away.
  • Over-provisioning IaaS "just in case" instead of evaluating whether a managed PaaS offering already handles the scaling problem being solved manually.

Performance

  • Higher up the stack (PaaS, SaaS) generally means faster time-to-deploy for standard workloads, since the provider has already solved scaling and runtime management, at the cost of less control over exactly how that scaling behaves.
  • IaaS gives the most control over performance tuning (custom kernel parameters, specific instance types, network placement) but requires the team to actually do that tuning.
  • Cold-start latency is a real, model-specific performance characteristic of some PaaS/serverless offerings that doesn't exist the same way on a persistently running IaaS instance.

Best Practices

  • Match the service model to the team's actual operational capacity and the workload's actual constraints, not to a blanket "always use the most managed option" policy.
  • Read the specific shared responsibility documentation for whichever model and provider you're using, the line isn't identical across providers.
  • Re-evaluate the choice as a workload matures, a prototype often starts on PaaS for speed, and some workloads later move to IaaS once their specific performance or compliance needs become clear.
  • Never assume "managed" means "no responsibility", IAM, data classification, and access control remain the customer's job at every tier.

Interview questions

What is the actual difference between IaaS, PaaS, and SaaS?

The difference is the boundary of what the provider manages versus what you manage, not the technology itself. IaaS (e.g., a raw virtual machine) gives you compute, storage, and networking; you manage the OS, runtime, and application. PaaS (e.g., a managed application platform) additionally manages the OS and runtime, so you only manage your application code and configuration. SaaS (e.g., a hosted email or CRM product) manages everything, including the application itself; you're just a user or configurer of it. Moving up the stack trades control for reduced operational burden.

What is the cloud shared responsibility model, and why does it matter for security?

It's the explicit division of security obligations between the cloud provider and the customer, and where that line falls depends on the service model. The provider is always responsible for "security of the cloud", physical data centers, host infrastructure, and (for managed services) the underlying platform. The customer is always responsible for "security in the cloud", for IaaS, that includes OS patching, network configuration, and IAM; for PaaS, it narrows to application code, data, and access control; for SaaS, it's mostly just access control and data. Misunderstanding this line is one of the most common causes of real cloud security incidents, assuming the provider handles something they explicitly don't.

Why might a team deliberately choose IaaS over PaaS even though PaaS requires less operational work?

PaaS trades control for convenience; it constrains you to whatever runtimes, configurations, and scaling behavior the platform supports. Teams choose IaaS when they need capabilities a PaaS doesn't expose (custom OS-level tuning, unusual networking topologies, specific compliance requirements that mandate control over the underlying host), when they're running workloads a PaaS wasn't designed for, or when the cost model of many small PaaS instances doesn't make sense at their scale compared to self-managed infrastructure.

References

ShareXLinkedInReddit
Was this page helpful?
Suggest an improvement