Understanding IaaS, PaaS, and SaaS
Raj has no difficulty locating the pizza place. He has been there before. It is not a lavish place, but its pizza could compete with any Michelin-star restaurant’s pizza. Raj’s ex-colleagues are all gathered to celebrate Ahmad’s new job at a renowned software company. Ahmad is always in learning mode. He has also completed some training and certifications regarding a popular cloud vendor.
Raj knows that it will soon be his turn to throw a party the following month. This small group has, after all, developed a tradition of gathering and celebrating when people start a new job and get their first salary.
Ahmad: Thanks for coming, Raj.
Raj: I wouldn’t have missed the chance to catch up with all of you – or the pizza, of course.
Ahmad: Yes, their pizzas are awesome. Much better than PaaS pizza.
Raj: PaaS Pizza? Is that some new place you have recently been to?
Ahmad: Oh, no. It is the way I describe pizza options. They are not very different from cloud technology.
Raj: Wait a minute, are you saying that eating a pizza is similar to cloud technology?
Ahmad: In some aspects, yes. Let me tell you how I interpret these different cloud models. We always hear the words IaaS, PaaS, and SaaS, and to explain it, I found that pizzas are the best examples.
Raj: I am all ears – and I guess everyone else here is too.
Ahmad: Okay. Let’s assume you have a craving for pizza. There are different ways of having a pizza. You can make it yourself, buy a frozen pizza from the supermarket and cook it at home, order in and get it delivered to your place, or come to a restaurant such as this and have it:
Figure 1.8 – Different ways of eating pizza
Raj: Agreed.
Ahmad: When you make a pizza at home, you have to take care of having cheese, tomato sauce, toppings, dough, fire – an oven, electricity or gas – soda, and a dining table to eat at. For a person who loves cooking, this is the best option, but it involves a lot of steps. The second option is to buy a frozen pizza from a supermarket, which has already been prepared, and the supermarket or the vendor has taken care of the cheese, tomato sauce, toppings, and dough. You just take it and make it at home. In this case, you only need to take care of the fire, oven – electricity or gas, and have soda and the dining table to eat at on hand. The third option is to get your pizza delivered as per your choice, so you just need to get soda and have your dining table, and the rest is managed by the pizza company. And as the final option, you can just eat out. Walk into a place such as this, pick and order, enjoy your pizza, pay for it, and that’s all. Mind you, the paying part is mandatory:
Figure 1.9 – Responsibilities when having pizza
Raj: Understood – but this time you are paying, right? I didn’t bring my credit card.
Everyone laughs.
Raj: I still don’t quite get the cloud connection though.
Ahmad notices that everyone at the table is glued to his explanation.
Ahmad: Let’s consider you want to run an application – so what are your options?
Raj: I could run it on a server in my data center.
Ahmad: Yes, you could, and who manages it?
Raj: It’s my application in my data center – so obviously, I have to manage it.
Ahmad: Exactly! You take care of the infrastructure – that is, networking, storage, the server, and virtualization; platform – that is, the operating system, middleware, and runtime; and software – that is, the data and application. That is a traditional approach to running an application on-premises. Now, consider if a service provider gives you a ready-to-use server and takes care of the infrastructure, and you connect to it remotely and install the required platform and software. In this way, you have saved a lot of effort and time. This is a way of getting your infrastructure as a service, commonly known as IaaS.
Raj: I understand – so if I am an administrator, I don’t have to worry about racking-stacking of servers, cabling, storage, power, or cooling. That surely will save a lot of time.
Ahmad: Yes, exactly, and if you are a developer, a cloud provider may offer you Platform as a Service (PaaS), where they give you a ready-to-use system with the required platform pre-configured, so you can just deploy your application and take care of your data storage requirement. Your exposure is reduced and you can focus more on something that makes your application unique rather than focusing on undifferentiated activities, such as installation, patching, updates, and so on.
Raj: That can save a lot of time for admins and developers.
Ahmad: Yes, true – and then there’s the final offering, known as Software as a Service (SaaS), where you have almost zero management responsibility. When you use an online email platform or an online meeting system, the vendor has already set up all the required components. They take care of everything and keep your data safe as per the settings you have configured. So, you can focus on the business rather than maintaining and running the systems:
Figure 1.10 – Benefits of the different services
Raj: That’s so relevant and quite an interesting way to understand these concepts.
Ahmad: Yes. Some vendors expand these models and offer various services in this way and sometimes name them differently – such as Database as a Service (DBaaS), Disaster Recovery as a Service (DRaaS), and Function as a Service (FaaS), to name a few.
Raj: Interesting. Thanks for explaining this to me, Ahmad. I can’t wait to explain this to my colleagues tomorrow. I will probably bring them here one day if they agree to take care of the mandatory pay part of it.
Ahmad: Of course. For the time being, let me take care of the mandatory pay part.
Everybody at the table is laughing.