For those of you that have no idea what PaaS is, it is probably best to start with that.
PaaS (Platform as a Service) to put it bluntly is where ‘said company’ provides the service of using a platform and environment to customers enabling them to build applications in the cloud world (being one of the many services within the cloud computing stack). Generally the platform will have the ability to not only allow developers to develop the applications but also to run, deploy and manage them within the platform therefore eliminating the need to bring in an external system to do so.
So why do we need anything else right?
In actual fact, without SaaS (Software as a Service) and IaaS (Infrastructure as a Service) it would all fall apart. SaaS is the application (software) that is developed for the end user and is delivered over the internet - this tends to be on a subscription basis also eliminating the need to install and run applications on each individual’s computer; ultimately making things simple and more efficient. Finally, IaaS is what holds it all together. This is everything from the servers to the operating system that makes the whole thing run however the difference is that with Iaas there is no need to purchase the hardware outright as users are able to purchase it based on usage – kind of like you would with electricity. Users are also responsible for managing the runtime, data middleware, applications etc.
I remember reading a passage a little while ago when I first started really looking into the cloud stack which gave an analogy a little like so (go with me on this):
Think of IaaS as a road. There is no point in having a road unless cars or bikes were going to use it right? Otherwise it would just be deemed useless. The cars and bikes are what transport people and other necessities such as food and goods to and from places (this would represent the platform) so finally the people, food and goods are representing the software.
I like the way that the analogy paints a picture of how all 3 services are combined in order to deliver a complete product because for example, when you think of something such as the Mendix application development platform; despite how brilliant it is, you don’t even consider the infrastructure or in this case even the coding as it is merely something which is almost non-existent when developing applications with Mendix.