Cloud computing delivers computing services over the internet on a pay-as-you-go basis. These services are categorized into three major service models:
- IaaS – Infrastructure as a Service
- PaaS – Platform as a Service
- SaaS – Software as a Service
These service models operate at different levels of abstraction and responsibility and are built on top of each other as shown below:
SaaS ← Application Level (End-user)
PaaS ← Development Platform (Developer)
IaaS ← Infrastructure (Admin/System level)

Infrastructure as a Service (IaaS)
- Definition: Provides virtualized hardware resources like virtual machines, storage, and networks over the internet.
- Control: User controls OS, storage, deployed apps; not the underlying infrastructure.
- Examples:
- Amazon EC2 (VMs)
- Amazon S3 (Storage)
- Google Compute Engine
- Microsoft Azure Virtual Machines
- Features:
- Virtual machines, storage, and networking
- Auto-scaling & load balancing
- Flexible & cost-efficient for developers and sysadmins
Platform as a Service (PaaS)
- Definition: Provides a complete development and deployment environment in the cloud with tools and libraries.
- Control: User controls the deployed applications only; provider manages the platform (OS, middleware, runtime).
- Examples:
- Google App Engine
- Microsoft Azure App Services
- Heroku
- Red Hat OpenShift
- Features:
- Programming tools and APIs (Java, Python, .NET)
- Integrated development environments
- Automatic scaling, version control, testing
Software as a Service (SaaS)
- Definition: Provides ready-to-use software applications over the internet to end users.
- Control: User only uses the software; no control over platform or infrastructure.
- Examples:
- Gmail, Google Docs
- Microsoft Office 365
- Salesforce CRM
- Dropbox
- Features:
- Accessible via web browser
- No installation or maintenance needed
- Subscription-based or freemium model