IaaS vs PaaS vs SaaS: Cloud Service Types Explained
Cloud service types describe how much of the technology stack the cloud provider runs for you and how much you run yourself. There are three main types. Infrastructure as a Service (IaaS) gives you rented infrastructure such as virtual machines, and you manage the operating system and everything above it. Platform as a Service (PaaS) adds a managed operating system, middleware and runtime, so you build, deploy and manage only your application and data. Software as a Service (SaaS) is a finished application you sign in and use, with the provider running the application and everything beneath it. As you move from IaaS to PaaS to SaaS, the provider takes on more responsibility and you take on less, and you trade flexibility for ease: IaaS is the most flexible type, SaaS the least flexible but the easiest to get running. This lesson covers each type, who owns each layer, why the same workload can sit at different types, when to choose each, and Azure examples of all three.
On this page8 sections
- Define IaaS, PaaS, and SaaS in plain terms
- Assign each layer (hardware, network and storage configuration, operating system, runtime, application, data, accounts, devices) to the provider or the customer in each service type
- Explain why the same workload, such as SQL Server or a business application, can be consumed as IaaS, PaaS, or SaaS, and how the responsibility split follows the type
- Match each service type to Microsoft's listed use cases, including lift-and-shift, development frameworks, analytics and BI, and finance and expense tracking
- Classify Azure and Microsoft offerings as IaaS, PaaS, or SaaS, and tell them apart from other labels such as DaaS
- Choose the service type with the least management effort that still meets a scenario's requirements
What cloud service types mean
A cloud service type describes how the responsibility for running technology is split between you and the cloud provider. Every application depends on a stack of layers: physical hardware and connectivity, network and storage, the virtualization host, the operating system, the runtime and middleware, and finally the application and its data. On premises you own every layer. Cloud service types let the provider take over the lower layers so you can focus on what matters to you.
There are three main types, and they form a ladder. Infrastructure as a Service (IaaS) hands you the lowest layers as a service but leaves the operating system and everything above it to you. Platform as a Service (PaaS) adds the operating system, middleware, runtime and development tools, so you manage your application and data. Software as a Service (SaaS) delivers a finished application that the provider runs; you use it.
Two things change together as you climb the ladder. The provider does more and you do less, and you give up flexibility in exchange for ease. In Microsoft's words, IaaS is the most flexible category of cloud service, while SaaS is the least flexible but the easiest to get up and running. Choosing a type means deciding how much control you need versus how much work you want to hand off.
Other "as a service" labels exist but are not one of these three types. Desktop as a Service (DaaS), such as Azure Virtual Desktop, delivers hosted Windows desktops and apps that users connect to; it is neither a platform for deploying your own code nor a finished business application. Serverless computing, such as Function as a Service (for example Azure Functions), runs your code without you managing servers; Microsoft describes it as PaaS-like, because the provider manages the infrastructure while you supply the code. Deployment models (public, private, hybrid cloud) are a separate idea again: they describe where resources run, not who manages which layer.
Infrastructure as a Service (IaaS)
Infrastructure as a Service (IaaS) rents you fundamental computing resources over the cloud: virtual machines, storage, and networking. The provider maintains the physical hardware, internet connectivity and physical security of the datacenter, plus the virtualization host. Everything else is your responsibility: installing, configuring, patching and maintaining the operating system; network configuration (for example the address ranges, subnets and firewall rules of your virtual networks); database and storage configuration; installing runtimes and middleware; deploying your applications; and managing your data.
IaaS gives you the most control of the three types, and that control comes with the most work. Because you own the operating system, you can choose a specific OS or OS version, install your own software agents into the OS, add custom drivers and change OS-level settings such as the registry. No PaaS or SaaS offering gives you that OS-level access.
Two details catch people out:
- Azure tooling does not move OS responsibility to Microsoft. Features such as Azure Update Manager or automatic VM guest patching help you schedule and apply OS updates, but you choose to enable and configure them, and the guest operating system remains yours to keep secure.
- Scaling features do not change the type. Azure Virtual Machine Scale Sets add and remove VM instances automatically, but every instance still runs an operating system that you manage. It is still IaaS.
The classic Azure example of IaaS is Azure Virtual Machines: you provision a virtual server, choose its operating system, and manage it yourself. Running a database engine such as SQL Server on Azure Virtual Machines is also IaaS, because you still patch the Windows or Linux OS beneath it.
Platform as a Service (PaaS)
Platform as a Service (PaaS) provides a managed environment for building, deploying, and running applications. The provider maintains the infrastructure and the operating system, middleware, runtime, development tools and, where offered, analytics services. You do not install, patch or license operating systems or database engines; there is no OS for you to sign in to. You manage your application code and your data, plus who can access them.
"Your application" includes everything you bundle into it. If your team packages an open-source library or framework with its code, that package is part of your app, and you update it when a vulnerability is reported, even though the provider patches the operating system and platform underneath. PaaS also removes OS patching, not application maintenance: you still deploy each new version of the app you run and apply its upgrades. Only SaaS takes application upgrades off your hands.
Azure examples of PaaS include:
- Azure App Service for hosting web apps and APIs, with built-in scaling.
- Managed databases: Azure SQL Database, Azure SQL Managed Instance and Azure Database for MySQL flexible server. You work with databases and data; Microsoft maintains the servers, OS and engine patching.
- Azure Container Apps, which runs your containers without you managing hosts or their OS. You still build, deploy and update the container image that holds your application.
None of these services gives you access to the host operating system: you cannot install agents or drivers into it or pick its version. With Container Apps you control only what goes into your own image. If a requirement needs control of the operating system itself, PaaS is ruled out and IaaS is the fit.
Network settings in PaaS are shared. Microsoft runs the network beneath the platform, but you decide how your app or database is reached: its firewall rules, private endpoints and virtual network integration are yours to configure.
Software as a Service (SaaS)
Software as a Service (SaaS) is a finished application delivered over the internet. The provider runs the whole stack, including the application itself: it fixes defects in the application's code and rolls out new versions and updates. You typically pay a subscription and use the app through a browser or client.
What stays with you is set out in Microsoft's description of SaaS:
- Your data: the information you put into the system.
- Identities and access: which users have access and what they can do. This holds even when the sign-in service is itself run by a provider. If staff sign in to a SaaS app with accounts from your organization's Microsoft Entra ID tenant, creating and disabling those accounts (for example when someone leaves) is your job, not the SaaS vendor's.
- Devices: which devices are allowed to connect, and their security posture.
Configuring a finished application is still SaaS. Choosing workflows, branding, notification settings or custom fields in an app's admin console uses options the vendor built; you are not writing or hosting code, so it does not make the service PaaS.
SaaS examples include Microsoft 365 for email, documents and collaboration, and Dynamics 365 for business applications such as customer relationship management (CRM). SaaS is the least flexible type, since you cannot change how the software is built or hosted, but it is the quickest to adopt.
Who manages what: the responsibility comparison
The quickest way to place a service is to ask who manages the operating system: you (IaaS) or the provider (PaaS and SaaS). The second question separates PaaS from SaaS: who maintains the application? The table compares the three types layer by layer. "Provider" means the cloud provider manages that layer; "You" means the customer does.
| Layer or aspect | IaaS | PaaS | SaaS |
|---|---|---|---|
| Physical hardware, connectivity, physical security | Provider | Provider | Provider |
| Network and storage configuration | You | Shared (you set your app's or database's firewall rules, private endpoints and network integration) | Provider |
| Operating system: install, patch, license | You | Provider | Provider |
| Runtime, middleware, development tools | You | Provider | Provider |
| Application code, bundled libraries, deploying and upgrading the app | You | You | Provider |
| Data | You | You | You |
| Accounts, identities and access | You | You | You |
| Devices allowed to connect | You | You | You |
| Flexibility and control | Most | Medium | Least (easiest to start) |
| Azure or Microsoft example | Azure Virtual Machines | Azure App Service, Azure SQL Database | Microsoft 365, Dynamics 365 |
Data, accounts and devices stay with you in every type. That is the cloud service type view of the shared responsibility model, covered in the lesson on cloud computing.
Same workload, different service type
A service type describes how you consume a workload, not what the workload is. The same database engine or business application can be run as IaaS, PaaS or SaaS, and the responsibility split follows the type you pick, not the product name.
| Workload | IaaS (you manage the OS) | PaaS (provider manages the OS) | SaaS (provider runs the app) |
|---|---|---|---|
| Relational database | SQL Server on Azure Virtual Machines | Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL flexible server | Not applicable: you use a database through an app |
| A purchased business app (ticketing, HR) | Install the vendor's software on your own VMs | Deploy the app's code to App Service or Container Apps | Subscribe to the vendor's hosted edition |
| Run mail server software on VMs | Not a typical fit | Microsoft 365 |
Read each row from left to right to see what you stop doing. Moving SQL Server from VMs to Azure SQL Database ends OS patching and engine patching for you, while your databases, data and access remain yours. Moving an app from VMs to App Service ends OS patching but you still deploy and upgrade the app; moving to the vendor's hosted edition ends both, and your data and user accounts are what you keep.
Choosing the right service type: use cases
Picking a service type comes down to how much control a workload needs and how much you want to manage. Microsoft lists these scenarios for each type.
Choose IaaS for lift-and-shift migration (moving existing on-premises servers to the cloud with few changes) and testing and development environments you create and tear down quickly. It is also the answer whenever a workload needs OS-level control: a particular OS version, custom drivers, registry settings, or agents installed in the operating system.
Choose PaaS for a development framework: developers build or customize cloud applications on a managed platform without patching servers, and get scaling and tooling built in. PaaS also fits analytics or business intelligence, where a team uses managed tools to analyze and mine its own data, find insights and patterns, and builds its own solution on top, without installing or maintaining analytics servers.
Choose SaaS for ready-made business software: email and messaging, business productivity applications, and finance and expense tracking; other common examples are payroll and CRM. The trigger is that users need working software, not something to build.
When a scenario lists several workloads, decide each one separately and pick the type with the least management effort that still meets that workload's requirements. One company can end up using all three types at once, because each workload is judged on its own requirements rather than the company choosing a single type.
Scenario walkthrough: which service type?
Work through these situations with two tests: who manages the operating system, and who maintains the application?
Scenario 1. A retailer is closing its datacenter and must move a line-of-business server to Azure quickly, unchanged, with its own OS hardening settings. Which type? A lift-and-shift that keeps OS control is IaaS (Azure Virtual Machines). The retailer still owns the OS, its virtual network rules and storage configuration.
Scenario 2. A start-up is writing a new mobile back end and wants automatic scaling with no servers to patch. Which type? PaaS (for example App Service). The start-up still owns its code, the libraries it ships, its data and its releases.
Scenario 3. A charity needs a donor CRM that volunteers can use next week, with no IT staff to run it. Which type? SaaS. The charity still controls its donor data, who has accounts, and which devices may connect.
Scenario 4. A school hosts a third-party library catalogue system on its own VMs and is weighing two moves: redeploying the same software to a PaaS host, or subscribing to the vendor's hosted edition. What changes with each? The PaaS move takes the operating system off the school's hands, but the school still installs each new release of the catalogue software. The SaaS move hands both the platform and the application releases to the vendor; the school keeps its catalogue data and the user accounts.
Tip. Expect two kinds of question. First, naming the type from responsibility clues: you manage the operating system, network or storage configuration points to IaaS; the provider manages the OS while you deploy your own code points to PaaS; a finished app you subscribe to points to SaaS. Second, assigning a duty once the type is known, often with a near-twin: SQL Server on VMs versus Azure SQL Database, an OS fix versus a bundled package on App Service, a code defect versus a user account in a SaaS app. Use cases come from Microsoft's own lists (lift-and-shift and test/dev; development framework and analytics/BI; email, productivity and finance/expense tracking), and some scenarios pair two workloads that must be decided separately.
- The three cloud service types are IaaS, PaaS, and SaaS; moving up the ladder the provider manages more, you manage less, and flexibility falls (IaaS most flexible, SaaS least flexible but easiest to start).
- IaaS: the provider maintains hardware, connectivity and physical security; you own the OS, network and storage configuration, and everything above. Azure update tooling and scale sets do not change that.
- PaaS: the provider maintains the OS, middleware, runtime and tools (no OS or database licensing or patching for you); network settings such as firewall rules are shared; you own your code, the libraries you bundle, app releases, data and access.
- SaaS: the provider runs and fixes the application itself; you keep your data, identities and access (including accounts in your own Entra ID tenant) and the devices allowed to connect.
- The same workload can sit at different types: SQL Server on Azure VMs is IaaS, while Azure SQL Database, SQL Managed Instance and Azure Database for MySQL flexible server are PaaS.
- Use cases: IaaS for lift-and-shift, test/dev and OS-level control; PaaS as a development framework and for analytics/BI; SaaS for email and messaging, productivity and finance/expense tracking (plus payroll, CRM and similar ready-made apps).
- Configuring settings in a finished app is still SaaS; DaaS (Azure Virtual Desktop) delivers hosted desktops and is not one of the three main types.
Frequently asked questions
What is the difference between IaaS, PaaS, and SaaS?
They differ in how much the provider manages versus how much you manage. With IaaS you rent infrastructure and manage the operating system, network and storage configuration, and everything above. With PaaS the provider manages the operating system, middleware and runtime, and you manage your application and data. With SaaS the provider runs the application itself and you manage only your data, user access and devices. From IaaS to PaaS to SaaS, the provider takes on more and the customer gives up flexibility for ease.
What are examples of IaaS, PaaS and SaaS in Azure?
Azure Virtual Machines is the classic IaaS example: you rent a virtual server and manage its operating system and everything above it, even if you enable Azure update tooling or scale sets. Azure App Service, Azure SQL Database and Azure Container Apps are PaaS examples, where Microsoft manages the operating system and you manage your application and data. Microsoft 365 and Dynamics 365 are SaaS examples: finished applications that Microsoft runs and updates, while you manage your data, user access and devices.
Is SQL Server on Azure Virtual Machines IaaS or PaaS?
SQL Server on Azure Virtual Machines is IaaS, because you still install, patch and maintain the Windows or Linux operating system under the database. Azure SQL Database, Azure SQL Managed Instance and Azure Database for MySQL flexible server are PaaS: Microsoft maintains the servers, OS and engine patching, and you manage your databases, data and access.
Who manages the operating system in each cloud service type?
In IaaS, the customer manages the operating system, including installing, patching and configuring it. In PaaS and SaaS, the provider manages the operating system, and the customer cannot manage or patch the OS. To separate PaaS from SaaS, ask who maintains the application: the customer in PaaS, the provider in SaaS.
What is the customer still responsible for in SaaS?
In SaaS the customer is still responsible for its data, its identities and access (who can sign in and what they can do, including disabling accounts in its own Microsoft Entra ID tenant), and the devices allowed to connect. The provider is responsible for the application itself, including fixing defects in its code and applying updates.
Who patches libraries in a PaaS app?
In PaaS the customer patches the libraries and packages it bundles into its own application, because they are part of the application. The provider patches the operating system and platform those apps run on. For example, on Azure App Service Microsoft updates the worker OS, while the team updates an open-source package it shipped with its code.
What are typical use cases for PaaS?
Microsoft lists two main PaaS scenarios. As a development framework, PaaS lets developers build or customize cloud applications without managing servers or operating systems. For analytics or business intelligence, PaaS provides managed tools to analyze and mine data and find insights, so a team can build its own solution without maintaining analytics servers.
When should you choose IaaS instead of PaaS?
Choose IaaS when a workload needs control of the operating system: a lift-and-shift migration of an existing server, a specific OS version, custom drivers or registry settings, or agents installed in the OS, as well as flexible test and development environments. Choose PaaS when you want to build and run an application without managing servers, patching operating systems or licensing them.
Source
This lesson covers the "Describe cloud concepts" domain of the official AZ-900 exam guide. Vendors revise their guides — check the source for the current version.
- Microsoft AZ-900 study guide — Microsoft Learn
Sign up free to mark lessons complete, bookmark topics and track your exam readiness.