Cloud Notes
Detailed comparison of IaaS, PaaS, SaaS, and FaaS cloud service models with decision frameworks, real-world examples, and migration strategies.
Understanding the differences between IaaS, PaaS, SaaS, and FaaS is fundamental to cloud architecture decisions. Each model represents a different level of abstraction, responsibility, and control.
The Pizza Analogy
| On-Prem | IaaS | PaaS | SaaS | |
|---|---|---|---|---|
| (Make at | (Take & | (Delivery) | (Dine Out) | |
| home) | Bake) | |||
| Dining | YOU | YOU | YOU | PROVIDED |
| Table | ||||
| Drinks | YOU | YOU | YOU | PROVIDED |
| Pizza | YOU | YOU | PROVIDED | PROVIDED |
| Oven | YOU | PROVIDED | PROVIDED | PROVIDED |
| Kitchen | YOU | PROVIDED | PROVIDED | PROVIDED |
| House | YOU | PROVIDED | PROVIDED | PROVIDED |
Responsibility Matrix
| Layer | IaaS | PaaS | SaaS | FaaS |
|---|---|---|---|---|
| Applications | YOU | YOU | PROVIDER | YOU |
| Data | YOU | YOU | YOU* | YOU |
| Runtime | YOU | PROVIDER | PROVIDER | PROVIDER |
| Middleware | YOU | PROVIDER | PROVIDER | PROVIDER |
| O/S | YOU | PROVIDER | PROVIDER | PROVIDER |
| Virtualization | PROVIDER | PROVIDER | PROVIDER | PROVIDER |
| Servers | PROVIDER | PROVIDER | PROVIDER | PROVIDER |
| Storage | PROVIDER | PROVIDER | PROVIDER | PROVIDER |
| Networking | PROVIDER | PROVIDER | PROVIDER | PROVIDER |
Comparison Table
| Criteria | IaaS | PaaS | SaaS | FaaS |
|---|---|---|---|---|
| Target User | IT Admins | Developers | End Users | Developers |
| Control Level | High | Medium | Low | Function-level |
| Flexibility | Maximum | Moderate | Limited | Event-driven |
| Setup Time | Hours | Minutes | Instant | Minutes |
| Scaling | Manual/Auto | Automatic | Transparent | Automatic |
| Cost Model | Hourly/Reserved | App-based | Per-user/subscription | Per-execution |
| Maintenance | High | Low | None | None |
| Example | AWS EC2 | Heroku | Gmail | AWS Lambda |
Real-World Examples Mapped
# IaaS Example: Running a custom database cluster
aws ec2 run-instances --instance-type r5.2xlarge --count 3
# You install PostgreSQL, configure replication, manage backups
# PaaS Example: Deploying a web application
git push heroku main
# Platform handles servers, scaling, load balancing
# SaaS Example: Using email
# Just open Gmail or Outlook in your browser
# No deployment, no management needed
# FaaS Example: Processing image uploads
# Write a function that triggers when a file is uploaded to S3
# AWS Lambda runs your code, scales automatically, charges per executionDecision Framework
| │ ├── YES | IaaS |
| │ │ │ │ ├── YES | PaaS |
| │ │ │ │ └── NO | FaaS (Serverless) |
| │ │ ├── YES | SaaS |
| │ │ └── NO | Re-evaluate requirements |
Cost Comparison (Monthly, Web Application)
| Model | Service | Estimated Cost | Notes |
|---|---|---|---|
| IaaS | EC2 + EBS + ALB | $200-500 | Most control, most work |
| PaaS | Elastic Beanstalk | $100-300 | Less management, auto-scaling |
| SaaS | Shopify/WordPress.com | $30-300 | Zero infrastructure work |
| FaaS | Lambda + API GW + DynamoDB | $5-50 | Pay only for traffic |
Migration Between Service Models
migration_paths:
on_premises_to_iaas:
strategy: "Lift and Shift"
effort: Low
benefit: Quick migration, same architecture
iaas_to_paas:
strategy: "Re-platform"
effort: Medium
benefit: Reduced operational burden
paas_to_faas:
strategy: "Re-architect"
effort: High
benefit: Maximum cost efficiency at scale
any_to_saas:
strategy: "Replace"
effort: Variable
benefit: Zero management, immediate valueInterview Questions
- Explain IaaS, PaaS, SaaS, and FaaS with examples.
IaaS (EC2): rent virtual machines, you manage everything from OS up. PaaS (Heroku): deploy applications, platform manages infrastructure. SaaS (Gmail): use ready applications via browser. FaaS (Lambda): deploy individual functions that run on events.
- How do you decide between IaaS and PaaS for a new project?
Choose IaaS when you need custom OS configurations, specific software versions, or full control. Choose PaaS when you want faster deployment, less operational overhead, and your app fits standard runtimes. PaaS trades control for simplicity.
- What is the shared responsibility model and how does it vary across service models?
In IaaS, customers manage OS through applications; provider manages hardware/virtualization. In PaaS, customers manage only code and data. In SaaS, customers manage only their data and access. More abstraction = less customer responsibility.
- Can you use multiple service models in one application?
Absolutely. A typical modern app might use: IaaS for a specialized database cluster, PaaS for the web application tier, SaaS for email notifications (SendGrid), and FaaS for background processing (image resizing). This is common in microservices architectures.
- What are the cost implications of each service model?
IaaS: pay hourly for resources (even idle). PaaS: pay for application capacity. SaaS: pay per user/month. FaaS: pay per execution (zero cost when idle). FaaS is cheapest for intermittent workloads; IaaS can be cheapest for consistent high utilization with reserved instances.
Exam Focus
Revise definitions, diagrams, examples, and short-answer points for Cloud Service Model Comparison.
Interview Use
Prepare one clear explanation, one practical example, and one common mistake for this Cloud Computing topic.
Search Terms
cloud-computing, cloud computing, cloud, computing, service, models, model, comparison
Related Cloud Computing Topics