Hello, guys! Welcome back. My name is Pavan, and this is the fifth chapter in our Fundamentals course. The topic for today is Cloud Service Models—what are their differences and what are their key characteristics? Stay tuned!
Session Objectives
As always, at the beginning of the chapter, let me start with the session objectives. What is being tested during the exam in this section? You need to understand what exactly Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) are. But you also need to understand them well enough to be able to compare and contrast them with each other.

To better understand these concepts, we first need to understand what exactly is considered infrastructure, platform, and software. For that reason, I have prepared a very small exercise—a practical example.
Read Previous Chapters : Azure Course Chapter 4 : Consumption-based Model
Example: Hosting an Application as a Startup
Let’s imagine we are a startup company, and we want to host our own application and build the entire infrastructure for that reason. Of course, the first thing we will need to do is purchase some servers—all the hardware that will actually run the applications themselves.

Obviously, our servers need to be able to connect to the Internet; therefore, we will need to provide all the networking infrastructure as well, including the Internet connectivity itself. Because every server needs storage, you will additionally need to provide a storage infrastructure—whether those are hard drives or solid-state drives (SSD), some RAID arrays, and things like that. We need to provide that.
Additionally, once this is in place, you have all the hardware needed in order to run the server. Now, to ensure the best utilization of the hardware, you will want to run some virtualization software so that you can run multiple virtual machines on a single hardware piece, hosting multiple applications but still maintaining total separation of the environments.
Virtualization software will allow you to do that. At that point, you will start creating multiple virtual machines in order to host your applications. All those virtual machines will need operating systems—whether it’s Windows, Linux, or any other operating system on the market.
As the operating system is in place, you additionally want to install middleware, which typically means all the software additions needed to run the system and the application itself.
A typical application will also need a runtime—another layer of software that will host your application. If this is a web application, this could be an IIS web container. If it’s a container application, maybe Docker. But runtime is an additional layer that you will need to maintain yourself.
Once all of those layers are in place, we are finally ready to host our application and application data on that system.
Understanding the Layers
Well, there are quite a few layers on the screen, but a few clear distinctions can be made here. The first four layers from the bottom are the so-called infrastructure layers—all the layers directly related to the hardware and the virtualization. The next layers can be grouped as platform layers—the operating system, middleware, and runtime—which are all the software, systems, and configurations required to run the application, but not the application itself. The last part—the application and the data—is the so-called software layer.

The “as a Service” part of our chapter refers to who will manage what. If you manage all of those layers, that means we’re talking about on-premises; the clear ownership is on you. You manage all the infrastructure, platform, and software, and the cloud provider is not even involved.
But if you decide to outsource the infrastructure, purchase the infrastructure from the cloud provider, and let Microsoft manage the infrastructure while you manage the platform and software, this is so-called Infrastructure as a Service (IaaS). The ownership of that part goes to a cloud provider—in this case, Microsoft will manage all the networking, hardware, and the virtualization itself, while you will manage the platform and the software part.
Typical use cases here are migration of workloads from on-premises, testing and development, but also extending your on-premises environment with the capacity of the cloud so that you can create storage backups and disaster recovery scenarios. The list of services used to implement IaaS solutions is quite long, but typically, you will see things like virtual machines, virtual networks, managed disks, or one of the many services used for this purpose.
In general, the rule of thumb is, if someone says they have an IaaS solution, it means they have a lot of virtual machines, and probably, this is the skill they’re looking for.
Platform as a Service (PaaS)
If you’re designing for the cloud, you will most likely go one level up, allowing Microsoft to manage the platform and the infrastructure part while you just build your own applications. In that case, we are talking about Platform as a Service (PaaS).

In this model, the cloud provider will manage the infrastructure and the platform. Besides the hardware, Microsoft will manage the operating system, all the security patches, the middleware, and the runtime to host your application. You will only need to build and manage your own applications.
Typically, this model is used whenever you’re developing cloud applications. This could be state-of-the-art web applications, AI, machine learning, business analytics solutions—well, pretty much anything. If you’re building applications, you’re most likely using PaaS solutions.
In this case, we can talk about SQL for relational databases, App Service for web hosting, Logic Apps for enterprise integrations, and Function Apps for serverless computing—one of the dozens or even hundreds of other services allowing you to take advantage of the cloud in a PaaS model.
Software as a Service (SaaS)
And if you decide to outsource everything to Microsoft, that means you are using a Software as a Service (SaaS) model. In that case, the ownership by the cloud provider covers everything, and there’s nothing on you.

You might wonder what would be the case of SaaS. Usually, this means buying off-the-shelf applications—applications like Outlook, Skype, OneDrive, and all the other business applications that you’re probably using every day. This is SaaS—where Microsoft manages everything, and you just use the applications.
Summarizing the Differences
I will now summarize the differences between these service models from a different angle. If you let the cloud provider manage the physical data center buildings, networking, security, servers, and storage, we are talking about Infrastructure as a Service (IaaS).

If that cloud provider additionally manages the operating system and the development tools, we are talking about Platform as a Service (PaaS). But if that cloud provider additionally manages the applications and the data, we are talking about Software as a Service (SaaS).Maybe this view will help you better understand the scope of responsibilities for each of these service models.
Final Thoughts
That’s it for this chapter! I appreciate every single one of you who stayed until the very end. If you like what I do, support the website by subscribing, liking, and commenting.See you in the next chapter!