SaaS, PaaS, and IaaS are cloud service models that provide different levels of computing resources and user control. SaaS supplies complete software, PaaS supplies an application-development environment, and IaaS supplies virtualized computing infrastructure.
How the Service Models Differ
Cloud computing provides computing resources over a network, usually on demand. The three models differ mainly in which parts of the system the cloud provider manages and which parts the customer manages.
| Model | Provider supplies | Customer controls or does |
|---|---|---|
| Software as a Service (SaaS) | A complete application, including infrastructure, operating system, updates, and maintenance | Uses and configures the application; examples include web-based email and online office software |
| Platform as a Service (PaaS) | Infrastructure, operating system, runtime environment, development tools, and often databases | Develops, tests, and deploys applications without managing the underlying hardware |
| Infrastructure as a Service (IaaS) | Virtual machines, storage, networking, and physical hardware | Installs and manages operating systems, applications, data, and security configurations |
The amount of customer control generally increases from SaaS to PaaS to IaaS. However, greater control also creates greater responsibility for configuration, maintenance, and security.
For example, a school using an online learning application is using SaaS because the completed application is provided. A developer deploying code through a managed development environment uses PaaS. An organization renting virtual servers and installing its own operating systems uses IaaS.
A common misconception is that these terms describe different types of physical computers. They actually describe service and responsibility models. IaaS still depends on physical servers, but allows their processing, storage, and networking resources to be allocated as virtual infrastructure.