The different cloud service models
Not all clouds are created equal. And not all cloud providers offer the same services. There are multiple ways to set up and use a cloud, which in the last few years has generated a proliferation of acronyms that are obscure and confusing. Terms like ‘SaaS’ or ‘DaaS’ are in common use nowadays, but their meanings are not generally clear or well understood. Comparisons such as “IaaS vs PaaS vs SaaS” are meaningless without first understanding each acronym.
This is what we’ll clarify in this article. Let’s start with explaining what these acronyms are all about.
There are various service models used in cloud computing. These are differentiated by how the cloud services are set up, how they operate, and how they can be integrated into an existing infrastructure (what is commonly referred to as a ‘hybrid infrastructure’). Cloud computing includes many virtual resources and services, such as databases, virtual networks, load balancers, serverless applications, and more. Not every organization needs, or wants, to use every type of cloud service and resource.
Other organizations prefer to have one or more of these on-premises, and only integrate from the cloud what they do not have or want to manage. Each organization can choose to implement what is appropriate for their requirements, and no more. Every organization can therefore follow a cloud computing model for the use of these resources and services.
The terms SaaS, IaaS or PaaS refer to precisely these models. They define how the cloud is used and how much a company manages itself.
The “aaS” stands for “as a Service” and means that a specific resource is obtained from a cloud provider as a service. The cloud providers' respective offerings differ in terms of the cloud resources provided and the degree of management that a company's IT team has to perform for the services purchased.
Get to know the most important acronyms of the cloud computing models: IaaS, PaaS and SaaS.
IaaS
IaaS (Infrastructure as a Service) is the most basic cloud model. It offers a virtualization of hardware resources like networks, servers, storage space, and machines. It offloads what would have been servers and physical network cables to the cloud, letting cloud vendors manage them for you.
Typically, IaaS cloud vendors offer virtual servers that are either shared on physical hardware or on dedicated servers. Choosing IaaS means choosing and provisioning these virtual hardware structures via a dashboard or through the command-line, and then integrating them into their on-premises infrastructure or offloading the local workloads to the cloud.
IaaS benefits and use cases
IaaS can be thought of as the original cloud use case, when the growing hunger for more hardware was pushing costs to unacceptable levels for many companies. Infrastructure as a Service came as a cheaper way to have more powerful hardware, increased scalability that would not have been possible by simply adding resources into your own data centers. Adopting an IaaS model helped reduce the workloads of local IT administrators by offloading part of the raw work necessary to grow and optimize an infrastructure. Thus, scalability is the first factor pushing organizations in choosing IaaS.
Flexibility in the allocation of resources is another factor. Unlike physical hardware, relying on virtual servers and networks means a greatly-increased flexibility in choosing what and where to grow your infrastructure. Provisioning a virtual machine is a click away. Reducing the initial costs of adding new hardware is a game-changer for many small companies. Cloud vendors charge IaaS environments by number of hosts or by the usage, which may end up cheaper but certainly not as straightforward as purchasing a hardware server rack, with a clear price tag. Cost savings are a debatable topic, but the scalability and flexibility advantages are conclusive.
IaaS-based infrastructures reduce provisioning delays and avoid wasting resources. Overspending in actual hardware is not unusual, which can be avoided by using IaaS.
What IaaS does not avoid is maintaining and ensuring data safety and recovery of your applications and data. You are still responsible for properly installing and running everything you need the virtual servers for, and accurately monitoring IaaS infrastructures is vital. The whole software stack, starting with the operating system, is left to you to manage and run, which is not a big advantage in terms of saving time and work for your IT specialists.
IaaS is though the easiest point of entrance to cloud computing. By offloading only the hardware part of your infrastructure it means that there is less to customize and prepare to run on cloud resources than in other models. IaaS vs PaaS vs SaaS is often a choice of how quickly you want to start your hybrid infrastructure and how much you want to retain control of. IaaS provides the highest level of control of all of these models and, if that is a priority, it is the obvious choice.
IaaS monitoring
Compared to PaaS and SaaS environments, IaaS monitoring leaves most of the burden to you. This is because the largest part of your infrastructure is in your hands, yours to configure and maintain. Which also means to monitor.
With IaaS monitoring there is control over the underlying infrastructure, such as virtual machines, storage and networks. Monitoring in an IaaS setup therefore involves collecting the usual metrics relating to the health and performance of infrastructures: CPU and memory usage, network traffic, disk I/O, error rates, usage spikes of every resource and so on.
An operating system’s metrics should also be the focus of IaaS monitoring. As you will have direct control on the installed operating system on the IaaS virtual machines, monitoring its services, firewall, and running applications is a key part of your monitoring efforts. For every application that you deploy on an IaaS environment, its metrics such as response time, error rates, and general resource utilization needs to be collected as well.
Lastly, application and operating system’s logs are vital for gathering more information about potential and current issues. By having complete control on how these are installed and configured, you can organize log collecting as you wish, with a specific software or using one of the many available cloud monitoring tools. Monitoring an IaaS infrastructure is possible and advisable, even if part of it is handled by the cloud provider.
PaaS
While IaaS is the ‘bare-bones’ model, PaaS (Platform as a Service) is one step above it. IaaS includes only a virtualization of the hardware, while PaaS also adds the operating system. With PaaS cloud vendors offer complete servers, including the minimum software to run the underlying hardware, and take the maintenance of the operating system from the shoulders of IT administrators. OS updates are automatically handled by the cloud providers as well. Virtual servers come in a complete package with PaaS, ready to be used for your needed use case.
Choosing PaaS over IaaS means having a slightly more complete solution for cloud operations. You are still tasked with configuring the servers and networks to your requirements, and will need to install all of the applications necessary for your organization to operate. Compared to IaaS, PaaS has only a marginal advantage, but it may be desirable to leave the complexities of managing an operating system to others.
PaaS benefits and use cases
PaaS is an extremely quick way to get your applications and microservices started. With ready-to-launch servers and networks, only setting up your own software and copying any necessary data is needed to be operative.
Choosing a virtual machine with an operating system that is in line with what you run on-premises streamlines the integration of PaaS resources into your hybrid network. Or, similarly, lifting and shifting all of your local servers to the cloud is made somewhat easier with PaaS.
By using PaaS you maintain the same high scalability as with IaaS while relinquishing some control over the security and configuration of your cloud servers and networks. Cloud providers are charged with ensuring maintenance and security of the infrastructure, and this will now involve the operating system, unlike with IaaS. By giving up some control you gain access to a complete development platform that is ready to be provisioned in mere minutes, which is the biggest advantage when considering IaaS vs PaaS vs SaaS.
A possible disadvantage is that by passing the choice of operating system and application stack to the cloud providers, you get less of a voice in configuring it. While all of the cloud vendors have a great range of operating systems for their PaaS offerings, these are still a finite number. Specific needs and configurations are hard to exactly replicate with PaaS, and the risk of vendor lock-in may be an issue, depending on the cloud service provider.
PaaS monitoring
With PaaS, the burden of the runtime environment and operating system is laid on the cloud provider. This does not eliminate the ability to monitor PaaS virtual machines and applications, but only reduces your influence on how these are set up and configured.
The usual metrics as available in IaaS monitoring apply here as well. Monitoring both the operating system and the applications’ logs are also important in PaaS monitoring and a necessary step for a complete monitoring strategy. Usually PaaS providers have both metrics and logs analyzed in a built-in monitoring solution, or an external one can do either or both.
The key difference is that by relinquishing part of the software stack over which PaaS virtual machines run you may result in more limits in your monitoring. It depends on the specific cloud provider of your choice, but generally speaking, installing a monitoring agent may not always be as easy as with IaaS solutions, and you are limited to the API’s provided metrics. The available types of operating systems and runtime environments are not as vast as with IaaS infrastructures, where you are free to set up with hardly any constraints.
Thus while PaaS monitoring is perfectly doable, it is possible that there will be more limitations than with IaaS. Data-wise, the metrics to be gathered do not substantially differ from IaaS. It is only the way in which these are gathered that may be more limiting.
SaaS
SaaS (Software as a Service) is the last step in the imaginary ladder of the most common cloud models. The companies offering cloud services manage everything with SaaS, leaving only the utilization for you. The underlying infrastructure, including the operating system and the applications, is left to the cloud providers, with only the final software being made available to you.
SaaS applications like Google Workspace or Microsoft Office 365 are what powers most collaborative working nowadays. They are accessible everywhere, for free or with a subscription, and make it possible for teams to collaborate across countries and timezones. In terms of IaaS vs PaaS vs SaaS the latter is only a cloud application, compared to a virtual infrastructure to manage.
SaaS benefits and use cases
The main benefit with SaaS is its simplicity. There’s very little to maintain and configure, the SaaS applications are ready to use as soon as you log in. Configuration and customization is possible, but we are far from the possibilities granted by an IaaS or PaaS model. When looking for the shortest time required to implement an operational system, SaaS reigns over any other cloud model.
The main disadvantage is that there is little in terms of control over the infrastructure and organization of a SaaS cloud. SaaS monitoring and relative SaaS monitoring tools allow limited access, if at all, and the two terms are more often used for monitoring tools that are implemented as SaaS applications.
With SaaS there is a greater risk of vendor lock-in, as nearly all of the infrastructure is left to the cloud provider to decide. This is not usually a concern, as the primary use case of the SaaS model is precisely in letting the cloud service set up everything, and have the bare minimum of worries about monitoring, configuring, and securing the application. If you go the SaaS way, you do not want to focus your attention on anything that is not the actual functions and features of the application.
SaaS monitoring
With SaaS applications, there is little visibility of the underlying infrastructure. Nor are there monitoring dashboards available for gathering any insight on what is going on under the hood. The point of SaaS environments is to lift much of the setting up and maintaining burden from your shoulders, and this severely limits your monitoring of them.
Most SaaS applications then are a finite box that is ready to use but which does not allow any monitoring. You can rely on what the cloud vendor’s API reports, which may be enough for most cases but is well below what can be monitored with a PaaS or IaaS infrastructure. SaaS monitoring meets an application performance and user experience service level. Checking metrics such as response times, error rates, availability, page load times, transaction success rates, and similar is the only level of monitoring that is available in a SaaS setup.
If your SaaS application integrates with other systems or APIs, monitoring the integration points for latency, error rates, and data consistency is another possibility. Outside of these, the depth with which you can monitor IaaS and PaaS environments is not possible to achieve with SaaS.
Conclusion
We have seen how to answer the IaaS vs PaaS vs SaaS question, and explained a few IaaS vs PaaS vs SaaS examples with a focus on monitoring. Most of the cloud models we discussed differ in their intended usage, how much you want to control and manage vs how much you want to leave to cloud providers to set up for you.
From the most basic case of IaaS to the most automated one of SaaS, there are plenty of in-between use cases for cloud services that may better fit your needs than just IaaS, PaaS or SaaS. In recent years a proliferation of acronyms to denominate even the most extraordinary use case have developed, definitely resulting in much confusion, even among experts. No doubt more such acronyms will appear in the future.
Regardless of your use case and the acronym attached to it, monitoring a cloud infrastructure is a necessary effort to make. Independently of how much you trust your cloud provider, mistakes, disruptions, and external attacks can always happen. Using a comprehensive cloud monitoring solution like Checkmk can cover monitoring any of the discussed cloud models in addition to the monitoring done by the cloud providers. Such a second layer of checks and alerts is critical to ensure the continuity of your cloud-based business infrastructure.
FAQ
FaaS stands for ‘Function as a Service’ and this provides a ready to develop environment over which custom applications can be deployed and run. It is a step above PaaS as it leaves the hardware, operating system, and runtime environment to the cloud provider to set up and manage. FaaS is generally chosen when it is only necessary to deploy code for a specific task, rather than setting up a whole serverless infrastructure.
DaaS (Desktop as a Service) is the model chosen when necessitating giving end users or internal workers a ready-to-use virtual desktop infrastructure (VDI). With this cloud model an operating system with pre-configured applications is made available to authorized users over the internet, for immediate access and worldwide availability. When thinking of SaaS vs PaaS vs IaaS vs DaaS, the latter offloads the need to set up actual work desktops to a cloud service.
CaaS (Containers as a Service) are cloud environments that are ready for containerized applications to be deployed and run. With CaaS, the hardware and operating system are left to the cloud provider to choose and manage, and the environment is prepared to accept applications to run in containers, as with Docker or Kubernetes. It is a slightly lower cloud model than PaaS, with a more specific use case, similar to FaaS but geared towards container orchestration and applications.
MaaS (Monitoring as a Service) is the cloud model where a monitoring tool, like a SaaS monitoring tool, is offered as a service, external to your own infrastructure. This way monitoring and managing IT systems, networks, and applications is delivered by a third-party provider, usually under a subscription model.
XaaS (Everything as a Service or Anything as a Service) is an umbrella term that defines the complete cloud offerings from a company. This encompasses all of the previously discussed models like Paas, SaaS, IaaS, DaaS and more, into a single term. It is not a separate cloud model, but a term that groups together all of the models offered by a cloud provider.