Cloud Service Models

Cloud services come in three main flavors — IaaS, PaaS and SaaS — that trade control for convenience.

Cloud offerings are usually grouped into three models. The more the provider manages for you, the less you have to worry about, but also the less control you keep.

ModelYou manageAWS example
IaaS (Infrastructure as a Service)OS, runtime, appsEC2 virtual machines
PaaS (Platform as a Service)Just your app and dataElastic Beanstalk, Lambda
SaaS (Software as a Service)Nothing — just use itAmazon WorkMail

Deployment models

  • Public cloud — shared infrastructure run by AWS.
  • Private cloud — dedicated infrastructure for one organization.
  • Hybrid — a mix of on-premises and cloud.

Example

Example · bash
# IaaS: you launch a raw virtual machine and install everything yourself
aws ec2 run-instances --image-id ami-0abcd1234efgh5678 --instance-type t3.micro

# PaaS: you hand AWS your code and it runs it for you
aws lambda invoke --function-name hello-world response.json

When to use it

  • A company uses EC2 (IaaS) to control the OS and runtime for a legacy application that cannot be containerized.
  • A team deploys a Node.js app to AWS Elastic Beanstalk (PaaS) without managing underlying servers, focusing purely on application code.
  • Employees use AWS WorkMail (SaaS) for corporate email without any infrastructure management, accessing it through a browser.

More examples

Launch EC2 Instance (IaaS)

Demonstrates IaaS by launching a raw virtual machine where you control the OS and all software layers.

Example · bash
aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t3.micro \
  --count 1

Create Beanstalk App (PaaS)

Shows PaaS usage where AWS manages the OS, runtime, and scaling while you provide only application code.

Example · bash
aws elasticbeanstalk create-application \
  --application-name my-app

aws elasticbeanstalk create-environment \
  --application-name my-app \
  --environment-name my-env \
  --solution-stack-name "64bit Amazon Linux 2 v5.8.0 running Node.js 18"

List SaaS WorkSpaces Desktops

Illustrates SaaS-style managed desktops where AWS handles all infrastructure and software delivery.

Example · bash
aws workspaces describe-workspaces \
  --query 'Workspaces[].{ID:WorkspaceId,User:UserName,State:State}' \
  --output table

Discussion

  • Be the first to comment on this lesson.