Platform as a Service is one of the major topics when it comes to cloud computing. However, it is well below the usage and acceptance of other levels such as SaaS and IaaS. The advantages are often not seen by the large majority. Furthermore, a definition of what PaaS is, is not always given. Therefore, I’ve started a discussion on PaaS – what it is and how it defines. Feel free to comment on the topics and add your points when you believe I’ve missed some of them.
A very simple definition could be: “Platform as a Service is talking away the pain of the Software Stack administration from IaaS platforms and allows to focus on your application”.
Platform as a Service attributes and characteristics
Basically, all attributes that apply to Cloud Computing also apply to PaaS. However, it is necessary to add some more specific attributes to PaaS itself. The below mentioned topics are my first findings:
- Advanced Service Management. It is easy to run workflows on a PaaS Solution and they are often supported by a visual designer. Monitoring is very easy and comprehensive. It is often not based on the VM level since we are talking about abstraction here.
- Elasticity, Flexibility and automated Resources. A key feature for PaaS is the elasticity, flexibility and resource automation that is going on in the background. In a PaaS environment you simply don’t realize the automation that is going on since this problem is abstracted from you.
- Development-focused. Developers, Developers, Developers! A PaaS-Platform is all about developers. It is dedicated to them to get rid of the pain of using a complex deployment process or to install a software stack. With a PaaS platform, you simply don’t need to take care of your stack any more. You can focus on what is key – being a developer that delivers great apps.
- Abstract and easy to use APIs. APIs, that are available are easy to use and abstracted. If you use a messaging service that comes with the platform, it is very simple and you don’t need to read a book first to get started.
- Ease of operations. As stated earlier, it is also very easy to deploy new apps. In many cases, it is possible to have a test-environment and staging platforms. Deployment is often done from the Development environment itself.
Platform as a Service Types
When we look at currently available PaaS Solutions, we can see that there are some major differences in these solutions. Therefore, I believe that it is necessary to define them individually and focus on some key service types:
- Application PaaS (aPaaS). This is a fully-featured PaaS-Platform that allows you to built applications on a pre-configured stack. With Application PaaS, it is possible to have all kinds of applications.
- Dedicated PaaS (dPaaS). A dedicated PaaS platform is made for a specific SaaS-Application. The main focus of a dPaaS is to extend the SaaS-Application. The possibilities are somewhat limited to the aPaaS.
- Integration PaaS (iPaaS). An iPaaS platform is made to integrate different platforms, services and applications. It is also often called a middleware.
- Big Data PaaS (bPaaS). A bPaaS is built to handle all kinds of data driven applications. A common example is an easy to use Hadoop platform that can be run out of the box and enables the above described points.
Feel free to express your thoughts/opinion on this!