What's the difference between IaaS, PaaS, BaaS and SaaS?

June 02, 2021

programming
article cover
Image by An Tran

Cloud service

A cloud service is a service where services such as database, storage, and software are available via a server rather than on each user’s computer. There is no need for installation or software management, and some services can be used on multiple devices.

The difference from the convention is that you don’t “buy” the software, you use it as a “service”. Recently, this has been increasingly subdivided according to needs, but there are four main types.

IaaS

IaaS stands for Infrastructure as a Service. You can use infrastructure such as a server, network and storage as a service to build a system. IaaS is the lowest layer of the pyramid to build a service or application. There is no big difference from conventional hosting service, but IaaS allows you to customise infrastructure choosing the spec of hardware or OS.

Typical examples are Google Compute Engine, AWS, Microsoft Azure and DigitalOcean.

Using a restaurant as an example, it is similar to a property contract. You rent a property with a perfect infrastructure (electricity, gas, etc.) and then you can do whatever you want. It’s a lot of work for you, but also a lot of freedom.

graph

PaaS

PaaS stands for Platform as a Service. You can use an execution environment for an app such as a database and OS as a service. You only have to bring the program to run on PaaS.

PC’s OS of Windows and Mac are also PaaS. There is less flexibility compared to IaaS but less burden to manage.

Typical examples are Google App Engine, AWS, Microsoft Azure and Heroku.

I mentioned AWS and Azure also at IaaS, but this is because AWS and Azure provide a lot of features so it is totally up to you to use it as an IaaS or a PaaS.

Using a restaurant as an example, it is similar to renting a property with a ready-to-use kitchen and an interior. You can immediately start a restaurant just by bringing your chefs and other staffs.

graph

BaaS

BaaS stands for Backend as a Service. Applications mainly consist of Backend and Frontend. BaaS provide Backend features such as user management, push notification and payments on top of IaaS and PaaS. This allows users to focus on building Frontend without worrying about Backend.

Typical examples are Firebase and AWS Amplify.

Using a restaurant as an example, you have not only ready-to-use property but chefs and other staffs. So you can focus on Frontend which means, in this example, making a new menu, advertising and so on.

graph

SaaS

SaaS stands for Software as a Service. Which means services provided via a cloud server. When you say “Cloud service” they are probably SaaS.

For example, Gmail, Slack, Adobe apps, Dropbox, are all SaaS and there are countless SaaS we are using.

Using a restaurant as an example, it’s just a restaurant. You pay and eat what you want.

graph

In closing

Flexibility is lost in the order of IaaS > PaaS > BaaS > SaaS, but on the other hand, users can have more resources to build the application itself. It’s not about which is better, we need to choose the proper one depending on the project resource.

graph


Profile picture

Photographer / Web engineer working in Berlin.
A Japanese living with a Slovak wife and two German cats.