If you are into tech, you know there are many buzzwords out there. Among them, three deserve a special place: IaaS, PaaS, and SaaS. Those are acronyms, and the only letter changing is the first: infrastructure, platform, and software. The last three digits are always the acronym of as a service.
In this post, we will discover what exactly “as a service” means, and what does it mean for infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS).
The “as a service” world
The “as a service” concept has been booming in the last few years. In fact, we even have the acronym XaaS, which means “everything as a service”. This clearly shows the trend in the IT industry. But, what does “as a service” exactly mean?
In short, “as a service” means that you only pay for the final result. A good analogy could be using a taxi (or an Uber) instead of owning a car. The final result you are looking for here is getting from point A to point B. You can either buy the car, pay its insurance and maintenance, or just pay the ride with the taxi.
Of course, you are planning to go from point A to point B often enough, owning a car may be a cheaper option. But with that, you also have to deal with some additional burdens. For example, when you do get to B, you have to find a parking lot. Or again, if you are departing and your car is not starting, you have to get it fixed.
The taxi here is the service. They take care of everything: buying the car and maintaining it so that you don’t have to worry about it. You just pay for the final result: getting to the destination. Of course, they get a fee for that, but you don’t see that see. In fact, it is embedded in the cost of the service.
Pay “as a service”
In an as-a-service model, you don’t simply pay for the final result. You pay in a way that is proportional to the results you are getting. For example, with a taxi, after the initial fare, you pay a per-mile tariff. The more you travel, the more you pay. It makes sense, and it is straightforward to understand.
In other words, you have flexibility. With little-to-none upfront investment, you can get where you want to be. The price increases while you travel, and not upfront.
Since flexibility is good in almost any circumstance, someone took this idea into the tech world. You can build technical solutions and pay for their components with an as-a-service model. That’s where IaaS, PaaS, and SaaS come in.
IaaS (Infrastructure as a Service)
What is IaaS? In this section, we will give an answer to that question. However, before that, we need to understand what is infrastructure.
Every day, we use applications: websites, Facebook, Uber, and so on. Those are not just abstract things popping out of our phones and computers. Instead, they are client-server software. They run on the client, which is the device making the requests (i.e. your phone) and on the server. The server is the computer where applications store all their information and do all their processing.
In the end, those applications rely on real hardware that you can touch: the servers. However, having a server is not enough. You need to install it in a rack and connect it to the network. You need to power it and use a reliable cooling system. Furthermore, you need to plan for disaster recovery in case something happens to your server. All of the things you do to make your server working and usable are part of the infrastructure.
With Infrastructure as a Service (or IaaS), someone else takes care of that. That’s your provider (of infrastructure). You rent only as much infrastructure as you need from your provider. In fact, you pay based on how
With this approach, you buy computational power and you manage everything else yourself. For example, you get the computational resources for your application, but you need to install the operating system in it.
PaaS (Platform as a Service)
What is PaaS? Platform as a Service comes right after IaaS, it is somewhat the next level of it.
With PaaS, your provider manages for you both the infrastructure and the platform, while you have to take care of what’s on top. Of course, to better understand that, we first need to explain what “platform” means.
Platform mainly refers to the operating system. However, thinking only about Windows or Linux is a big understatement here. In fact, there is much more to get from Platform as a Service. In fact, both Windows and Linux were designed for traditional applications that require a traditional server.
Modern applications often use containers, which are a lightweight version of virtual machines. Like virtual operating systems that you frequently create and destroy, as you store the permanent information somewhere. If you want to run containers on your own, you have to install the container hypervisor (like Docker) yourself. So, you would need a bunch of Linux servers, and you will need to install in them both Docker and Kubernetes.
Instead, with Platform as a Service, you can get an off-the-shelf container environment where you can start launching your containers immediately. The cloud provider takes care of everything else, including security patches to the OS and hypervisor. You can take a look at Amazon EKS or Azure Kubernetes Service if you want something like that.
So, since the provider takes care of the platform, you have only one thing left to do: write the code for your application.
SaaS (Software as a Service)
What is SaaS? As you can imagine, Software as a Service is the evolution of PaaS. However, that’s a little bit different. With IaaS and PaaS you got services that you use to build your applications. Instead, with SaaS, you pay your provider for the application.
This means you are not developing your application anymore, but using the off-the-shelf application your provider has to offer. Of course, it will not be custom-tailored to your needs, but it will have different advantages. For example, you will not have to take care of patching it for security issues, nor maintaining it in any way. And, on top of that, it is ready from the very first moment – you don’t have to wait for your team to develop it.
You can use an application you get with a Software as a Service model in two ways. The first, and most intuitive one, is to let your users use the application. For example, you may use a travel expenses report application like Concur: your employees go to the Concur’s website to insert their expenses report, and the managers go to Concur’s website to approve them.
Another option is to integrate it with a custom-built application. For example, you may have a subscription to a SaaS service to send emails. From your own application, you can call the APIs of the SaaS service to send emails programmatically. Of course, this requires the SaaS service to have APIs – but most do.
Here, payment can vary, but always with the as-a-service mindset. You may pay for each transaction (e.g. per mail sent), a monthly flat fee, a per-user fee, or a combination of those.
The service industry
IaaS, PaaS, and Saas all are big improvements to the service industry, and not only in the IT world. As it turns out, they are closely related, and different actors use them differently.
For example, it is common for an IT company to use IaaS and PaaS services to run their applications. Then, they serve those applications with a SaaS model to their customers. So, typically, the target customer for IaaS and PaaS is a company that develops software. Instead, the target for SaaS is way broader. Besides other companies developing software, it also extends to single users of any kind, depending on the application itself.
In Summary
To conclude, in this post we saw three as-a-service paradigms: Infrastructure, Platform, and Software.
- IaaS offers raw computational power.
- PaaS offers the computational power and the OS that manages it.
- SaaS offers an off-the-shelf application, often to end-users. Thus, the target customer of this approach may be different from the first two.
Of course, shifting to this paradigm from an on-premises environment takes time and effort, but that’s where technology is heading. What do you think about these approaches? Where are you in your digital transformation journey?