Yesterday, I had a session during the OpenStack Summit where I tried to present a more general view on how we should be thinking about PaaS in the context of OpenStack.
The key takeaway :
The main goal of PaaS is to drive productivity into the process by which we can deliver new applications.
Most of the existing PaaS solutions take a fairly extreme approach with their abstraction of the underlying infrastructure and therefore fit a fairly small number of extremely simple applications and thus miss the real promise of PaaS.
Amazon's Elastic Beanstalk took a more bottom up approach giving us better set of tradeoffs between the abstraction and control which makes it more broadly applicable to a larger set of applications.
The fact that OpenStack is opensource allows us to think differently on the things we can do at the platform layer. We can create a tighter integration between the PaaS and IaaS layers and thus come up with better set of tradeoffs into the way we drive productivity without giving up control. Specifically that means that:
- Anyone should be able to:
- Build their own PaaS in a snap
- Run on any cloud (public/private)
- Gain multi-tenancy, elasticity… Without code changes.
- Provide a significantly higher degree of control without adding substantial complexity over our:
- Language choice
- Operating System
- Middleware stack
- Should come pre-integrated with a popular stack:
- Spring,Tomcat, DevOps, NoSQL, Hadoop...
- Designed to run the most demanding mission-critical app
You can read the full story and see the demo here