Cloud Business Models: In Simple Words About IaaS, PaaS, and SaaS
Clouds, cloud technologies and virtualization have been talked about for a long time, especially about the three most popular service models: software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS). In today's article, we would again like to address this issue and talk about the features and applicability of cloud services. / Flickr / Robert / CC
The stack of cloud technologies consists of three parts, each of which represents a separate category of services. At the top level is SaaS - in fact, these are cloud applications, access to which is provided through a web interface. It is followed by PaaS - a platform for self-development and deployment of applications.

The third level is IaaS - servers, storage, networks, computing infrastructure, which the client receives for use to launch their solutions. The described structure can be represented as the following diagram:

To demonstrate these three types of services, the analogy with pizza is often used - a kind of “Pizza as a Service”. When a consumer orders and eats pizza in a cafe or restaurant, it’s SaaS, and if he orders it at home, then it’s PaaS. If he went to the store, bought the ingredients and prepared the dish on his own, then we can say that it is IaaS.

Now let's dig deeper into each of these technologies and start at the end of the stack, IaaS.
When choosing IaaS, you will receive servers, network resources and storage as a connected service. It turns out that the company acquires computing resources from the supplier, avoiding the need to purchase its own hardware and support it. Moreover, the service can be provided as a public cloud, a private cloud, or a combined approach.
The concept of IaaS includes the following features:
Given all of the above, you can determine when to use IaaS solutions. It is worth turning to IaaS if the company sometimes feels the need to increase capacity during bursts of load - that is, there is a need for operational infrastructure scaling.
Another option is that the company is a startup that does not have the funds to purchase its own hardware and maintain it, or the organization wants to launch an experimental business and to buy equipment for this is not always advisable (the project may not take off).
However, despite the flexibility and scalability of IaaS, the technology has certain limitations. In this regard, there are situations when using it is not recommended. For example, a company is a player in a regulated industry whose rules do not allow the storage of data on servers that are not owned by the company.
Here I would like to add that there is an opinion that it’s supposedly not worth using cloud solutions for business-critical applications. However, we note that this is not so. A critical business application can be deployed on a productive server with 16 cores and terabytes of memory, which provides for duplication of a number of components (including at higher levels).
The platform as a service, or PaaS, simplifies the deployment and management of applications, while hiding the work with servers, load balancing, DNS, and others. Therefore, there is no need to hire engineers to service the infrastructure. This allows developers to pay more attention to development and deployment issues.
It should be noted here, since PaaS is the second level of the pyramid of cloud services, it is built on the basis of IaaS, however, it reduces the time even more from the moment of generating an idea to its implementation. This is achieved through greater automation of processes and abstraction from iron.
To abstract the concept of working with servers, the following was done:
The first and last points are those elements that contributed to the growing popularity of Docker. Linux Container technology has long been part of the Linux kernel, but only large companies or PaaS providers have decided to automate their use.
Companies use software-oriented architectures and microservices because they offer capabilities for automatic deployment and testing of code, as well as scaling depending on the load. This functionality implements PaaS.
Unfortunately, this approach has one serious drawback. You transfer part of the control to a kind of black box and become dependent on it. Otherwise, companies are constantly reinventing the wheel or starting to use slow tools.
In the case of SaaS, the consumer gains the ability to use the provider’s applications running in the cloud. Applications are accessible from various client devices, for example, through a browser. According to Gartner, the SaaS market grew by 21.7% to $ 38.9 billion in 2016. In 2017, the growth rate will only increase.
Software as a Service (SaaS) is the last level of cloud computing that most often complements PaaS, as can be seen from the diagram at the beginning of the article. This is a full-featured application for the user that performs certain functions - for example, working with images or sound. The most popular form of payment in this segment is subscription.
In the case of SaaS, issues related to application configuration, monitoring and backup are referred to the cloud provider’s area of responsibility. Therefore, this model of work does not require the presence of a technical specialist in the organization’s team - the provider does everything.
Thus, the more high-level model you plan to use, the lower the level of IT competencies required of the team. The opposite is also true - the lower the level of IT maturity of your company, the more high-level model you will need.
PS A few more materials on the topic from our blog:

The third level is IaaS - servers, storage, networks, computing infrastructure, which the client receives for use to launch their solutions. The described structure can be represented as the following diagram:

To demonstrate these three types of services, the analogy with pizza is often used - a kind of “Pizza as a Service”. When a consumer orders and eats pizza in a cafe or restaurant, it’s SaaS, and if he orders it at home, then it’s PaaS. If he went to the store, bought the ingredients and prepared the dish on his own, then we can say that it is IaaS.

Now let's dig deeper into each of these technologies and start at the end of the stack, IaaS.
What is IaaS
When choosing IaaS, you will receive servers, network resources and storage as a connected service. It turns out that the company acquires computing resources from the supplier, avoiding the need to purchase its own hardware and support it. Moreover, the service can be provided as a public cloud, a private cloud, or a combined approach.
The concept of IaaS includes the following features:
- Resources is a service. The client has the opportunity at any time to increase and decrease the amount of resources consumed
- Multiple users can work with physical resources due to virtualization capabilities
- Flexible payment models (for example, the option pay as you go, when the company pays only for power consumption)
Given all of the above, you can determine when to use IaaS solutions. It is worth turning to IaaS if the company sometimes feels the need to increase capacity during bursts of load - that is, there is a need for operational infrastructure scaling.
Another option is that the company is a startup that does not have the funds to purchase its own hardware and maintain it, or the organization wants to launch an experimental business and to buy equipment for this is not always advisable (the project may not take off).
However, despite the flexibility and scalability of IaaS, the technology has certain limitations. In this regard, there are situations when using it is not recommended. For example, a company is a player in a regulated industry whose rules do not allow the storage of data on servers that are not owned by the company.
Here I would like to add that there is an opinion that it’s supposedly not worth using cloud solutions for business-critical applications. However, we note that this is not so. A critical business application can be deployed on a productive server with 16 cores and terabytes of memory, which provides for duplication of a number of components (including at higher levels).
What is PaaS
The platform as a service, or PaaS, simplifies the deployment and management of applications, while hiding the work with servers, load balancing, DNS, and others. Therefore, there is no need to hire engineers to service the infrastructure. This allows developers to pay more attention to development and deployment issues.
It should be noted here, since PaaS is the second level of the pyramid of cloud services, it is built on the basis of IaaS, however, it reduces the time even more from the moment of generating an idea to its implementation. This is achieved through greater automation of processes and abstraction from iron.
To abstract the concept of working with servers, the following was done:
- Implemented a build system that compiles and stores code;
- An application management database has been implemented that monitors versions and metadata;
- A task scheduler has been launched that processes a large group of servers and runs the application on several machines as if on one;
- A load balancer manages Internet traffic;
- DNS is automated;
- A containerization form has been implemented (FreeBSD Jail, Solaris Zones, Linux Containers), which prevents one application from interfering with another.
The first and last points are those elements that contributed to the growing popularity of Docker. Linux Container technology has long been part of the Linux kernel, but only large companies or PaaS providers have decided to automate their use.
Companies use software-oriented architectures and microservices because they offer capabilities for automatic deployment and testing of code, as well as scaling depending on the load. This functionality implements PaaS.
Unfortunately, this approach has one serious drawback. You transfer part of the control to a kind of black box and become dependent on it. Otherwise, companies are constantly reinventing the wheel or starting to use slow tools.
A bit about SaaS
In the case of SaaS, the consumer gains the ability to use the provider’s applications running in the cloud. Applications are accessible from various client devices, for example, through a browser. According to Gartner, the SaaS market grew by 21.7% to $ 38.9 billion in 2016. In 2017, the growth rate will only increase.
Software as a Service (SaaS) is the last level of cloud computing that most often complements PaaS, as can be seen from the diagram at the beginning of the article. This is a full-featured application for the user that performs certain functions - for example, working with images or sound. The most popular form of payment in this segment is subscription.
In the case of SaaS, issues related to application configuration, monitoring and backup are referred to the cloud provider’s area of responsibility. Therefore, this model of work does not require the presence of a technical specialist in the organization’s team - the provider does everything.
Thus, the more high-level model you plan to use, the lower the level of IT competencies required of the team. The opposite is also true - the lower the level of IT maturity of your company, the more high-level model you will need.
PS A few more materials on the topic from our blog:
- Myths about cloud technology. Part 1
- Myths about cloud technology. Part 2
- Myths about cloud technology. Part 3: talking about iron
- 1cloud Digest: 25 materials on security, the work of programmers and the experience of creating an IaaS provider
- How to make virtual infrastructure more accessible
- Virtual IT Infrastructure: Pros and Cons
- How to create a virtual infrastructure provider: 1cloud experience
- In simple words: Understanding cloud services