The three cloud service models represent different levels of abstraction. Choosing the right one depends on how much infrastructure your team wants to manage.

IaaS — Infrastructure as a Service

IaaS provides raw compute, storage, and networking. You get virtual machines and configure everything above the hypervisor.

Best for: Custom infrastructure, legacy application migration, workloads requiring specific OS configurations.

Providers: AWS EC2, Azure Virtual Machines, Google Compute Engine, Oracle Cloud, DigitalOcean.

PaaS — Platform as a Service

PaaS abstracts the infrastructure. You deploy code and the platform handles provisioning, scaling, and OS maintenance.

Best for: Web applications, APIs, microservices where teams focus on code rather than servers.

Providers: Heroku, Google App Engine, Azure App Service, AWS Elastic Beanstalk, Cloudflare Workers.

SaaS — Software as a Service

SaaS delivers finished applications over the internet. No infrastructure or application management required.

Examples: Salesforce, Microsoft 365, Google Workspace, Slack.

Shared Responsibility

LayerIaaSPaaSSaaS
ApplicationsYouYouProvider
DataYouYouShared
RuntimeYouProviderProvider
OSYouProviderProvider
HardwareProviderProviderProvider

Open-source platforms like OpenNebula emerged from academic research on virtualizing compute resources — concepts that commercial IaaS providers later adopted at scale.

Back to Blog