Service Models: IaaS, PaaS, SaaS

~12 min read

The three layers of 'how much AWS manages for you' — from raw virtual machines to a fully finished application.

IaaS (Infrastructure as a Service) gives you the rawest building blocks: virtual machines, storage, and networking, with you responsible for the operating system, runtime, and everything above it. EC2 is AWS's core IaaS offering — you choose the OS image, install your own software, patch it, and manage it, in exchange for maximum flexibility.

PaaS (Platform as a Service) removes the operating-system and runtime management burden: you give AWS your code, and AWS handles provisioning, scaling, and patching the underlying servers. AWS Elastic Beanstalk and AWS Lambda are PaaS-style services — with Lambda specifically, you don't even think about servers at all (this sub-category is often called 'serverless').

SaaS (Software as a Service) is a complete, finished application you use over the internet with no infrastructure concerns at all — you don't manage code, servers, or scaling, you just use the product. Examples outside AWS include Gmail and Salesforce; within the AWS ecosystem, services like Amazon Chime (video conferencing) are consumed as SaaS.

The general rule: the further up the stack (IaaS → PaaS → SaaS) you go, the less operational work your team does, but the less control and customization you have. Most real systems mix all three — a company might run core business logic on EC2 (IaaS), event-driven functions on Lambda (PaaS), and use a SaaS tool like Salesforce for their CRM, all at once.

In the AWS Console

  1. 1

    AWS Console → EC2 → Launch Instance

    This is the IaaS entry point — you pick an OS image (AMI) and instance size; everything above the OS is your responsibility.

    Covered in depth in the EC2 Fundamentals topic.

  2. 2

    AWS Console → Lambda → Create function

    This is the PaaS/serverless entry point — you upload code, AWS handles the server entirely; there's no 'instance' to manage.

    Covered in depth in the Lambda & Serverless topic.

💬 Deep Dive with AI

Key points

  • IaaS = you manage OS and up (EC2)
  • PaaS = AWS manages OS/runtime, you give it code (Lambda, Elastic Beanstalk)
  • SaaS = a finished application you just use (no infra management at all)
  • Real systems typically combine all three, not just one