IaaS, PaaS and SaaS
Inkwell has decided to use the cloud, and now faces a menu. One service offers bare virtual servers. Another says "just upload your code". A third is a finished accounting tool in the browser. All three are "cloud", yet they ask very different things of Inkwell's two-person tech team. The difference is how much of the job you hand over.
The rule
Climb the stack: the higher the model, the less you manage.
Picture any running application as a stack of layers, bottom to top: hardware, virtualisation, operating system, runtime, application code, and data. The three service models are three places to draw the line between the provider's layers and yours.
- IaaS — Infrastructure as a Service. The provider runs the hardware and virtualisation. You get a virtual machine and manage everything from the operating system up: patches, software, your app. Amazon EC2 is IaaS.
- PaaS — Platform as a Service. The provider also runs the operating system and the runtime. You bring code and data; the platform deploys, runs and patches underneath it. AWS Elastic Beanstalk is a PaaS-style service.
- SaaS — Software as a Service. The provider runs the entire application. You just use it and manage your own users and data. Web email and online accounting tools are SaaS.
Across all three, your data stays yours to look after. No provider decides who in your company should see the customer list.
The shortcut
Ask one question: what is the first thing I would have to install? If it is an operating system, it is IaaS. If it is only my own code, it is PaaS. If I install nothing and just sign in, it is SaaS.
Virtual servers
The first thing to install is Linux and a web server. Operating system first means IaaS.
A useful analogy is food. IaaS is renting a kitchen: you buy ingredients and cook. PaaS is a meal kit: the prep is done, you just cook the recipe. SaaS is ordering from a restaurant: you only choose and eat.
The common trap is assuming the higher model is always better. PaaS and SaaS save effort but give up control. If Inkwell needs an unusual image-processing library on the server, IaaS may be the only model that lets them install it.
Drills
Answer fast — trust the rule.
Inkwell must install and patch the operating system itself. Which model are they using?
A team signs in to a web-based email service and manages only its users. Which model is this?
Which layer stays the customer's responsibility in IaaS, PaaS and SaaS alike?
Inkwell needs a rare library installed on the server itself. Which model most reliably allows this?
Remember
- Climb the stack: IaaS, then PaaS, then SaaS; the higher the model, the less you manage.
- Shortcut: the first thing you install is the OS (IaaS), your code (PaaS), or nothing (SaaS).
- Trap: higher is not always better; you give up control as you climb, and your data is always yours.
