The Battle of the Services: PaaS vs SaaS vs IaaS
Ever heard of SaaS? Or PaaS? Or even ... IaaS? It can also sound like complete gibberish and tech-speak for the select few. But really, they are not that hard to understand. In fact, understanding the difference between these will go a long way in your understanding of the basics of the Cloud Computing. See, Cloud Computing can be broken up into three main types (you'll never guess):
In this blog post, we will be going through each of these types of Cloud Computing, discussing the key differences you need to know, and providing examples of existing companies today that work in each of these areas. Let's get started.
IaaS - Infrastructure as a Service
IaaS (Infrastructure as a Service) is where a cloud provider, such as Amazon AWS or Microsoft Azure, host all of the infrastructure on the internet that you'd typically find in physical data centers. These can include things like servers, storage and networking hardware, and any virtualisations. IaaS are almost always pay-as-you-go systems, where you pay by the hour, week, or month for what you use. Because of this, IaaS is highly flexible and scalable, giving you as the user complete control over all your infrastructure. This means it's great if your workload is temporary, experimental, or changes unexpectedly. Some examples of famous IaaS include AWS's storage services such as Simple Storage Service and Elastic Compute Cloud.
PaaS - Platform as a Service
PaaS (Platform as a Service) is where a cloud provider will deliver a platform which allows customers to develop, run, and manage applications without building or maintaining an infrastrucutre. Because of this, it's often closely related to serverless-computing. The main thing to take note of here is that PaaS allows customers to build their own apps using that platform. They just don't have worry a damn thing about servers, data services, or setting up physical databases. It makes it way easier and faster to develop a product and get it out into the world pronto. Examples of existing PaaS are Heroku, Google App Engine, and Salesforce. Think about the apps you can build on Salesforce - being able to do this alone, is a pretty strong indicator that it's a PaaS.
SaaS - Software as a Service
SaaS (Software as a Service) focuses solely on (big surprise) the software. The advantages here is that it's all ready-to-use, out of the box solutions that are particular for a business need. Some great examples of SaaS that you likely use every day are websites, emails, online apps or games. There's no hardware or software to buy, install, maintain, or update. If the only thing you need to make it work is an internet connection, it's likely to be a SaaS. Examples of SaaS include Salesforce (of course), Slack, Dropbox, MailChimp, and so many more!
The pizza metaphor
A popular way to understand the difference between IaaS, PaaS, and SaaS was introduced by IBM architect, Albert Barron, who explained them using a pizza shop metaphor.
Say you are looking to get a pizza. IaaS would be going to a supermarket, picking up a ready made frozen pizza base and a range of toppings, and then baking it in your oven at home. A lot of the work has been done for you, but you still have to go out, choose a pizza base, choose some pizza toppings, then go home and cook it yourself. Still, at least you're not making it from scratch. No dough to knead, sauce to make.
PaaS would be like ordering a pizza from a delivery service. You get to choose a little bit of personalisation but you don't have to worry about cooking it or anything. In fact, they'll deliver it right to your door! Convenient and easier than going out to the supermarket, but less personalisation.
SaaS is where everything is ready made for you. You don't have to do anything. It's like going to a fancy restaurant and ordering a pizza straight from the menu. The cooking, the flavours, the prep, even taking it out from the kitchen to your plate....it's all done for you. These are some obvious advantages; less work to do on your part; but there are some drawbacks to be aware of. There's significantly less customisation here and getting things changed can be more of a hassle. Perhaps the kitchen doesn't do a dairy free cheese. Perhaps you can't take off mushrooms and replace them with extra onion. You're limited by the restaurant or kitchen you're at, instead of by your own abilities.
So there you go! Now you know the difference between IaaS, PaaS, and SaaS, along with some examples and an awesome pizza metaphor. Delicious. Remember, there are overlaps here. Heaps of companies are a mixture of all three types of Cloud Computing, and some offer many different variations of the same type. But that's okay. Because you're on your way to becoming a Cloud Computing ninja. You rock.