Why Use a PaaS Over a IaaS

A common question is why someone would want to use a Platform As A Service (PaaS) - such as CloudBees, Heroku, GAE - over an Infrastructure As A Service (IaaS), such as Amazon’s EC2, Rackspace, Terremark or bare metal.

The intensity of the questioning varies with how comfortable someone is with system administration. Developers who dabble in administration often grasp what a PaaS is good for - and how it lets them get on with their jobs, rapidly, but others do not.

One analogy which can help is to think of PaaS doing to hosting what garbage collection did to programming. Once garbage collection became mainstream, this helped eliminate a whole class of bugs, enabled a big boost in productivity.

But this analogy goes even further - there are times when you do want to manually manage memory (eg. memory constrained devices, or high performance and throughput) - just like there are times when you would want to run things directly on infrastructure over a PaaS. Hopefully, increasingly, these cases are the exception, rather than the rule, and everyone can be happy.