Welcome to final post of my 6 part series on how the cloud is changing the economics of business. This post discusses how PaaS is becoming more mature and will be a game changer in the enterprise.
The early pioneers of cloud based platforms are some of the leaders in the PaaS market today. Vendors such as Force.com, Google Apps Engine, Heroku, and Microsoft’s Azure all have a healthy amount of market share. I call these PaaS solutions 1.0 because they are the first generation of PaaS with constraints that make it hard for the enterprises to adapt. The constraints of PaaS 1.0 solutions are that they dictate the developer stack and the infrastructure they run on. The image below shows what stack the PaaS vendor allows and what datacenter the code must run on.
Numerous startups and SMBs (small and medium sized businesses) leveraged these PaaS 1.0 solutions for the following benefits:
- Speed to market
- Focus on apps. Delegate infrastructure, scale, redundancy, etc. to the PaaS vendors
- Leverage platform add-ons in areas like caching, monitoring, queuing, database as a service, etc.
But most enterprises balked at using PaaS 1.0 vendors for the following reasons:
- Multiple stacks to support
- Lack of choice for data center
- Public cloud option only, no private cloud options
In the last few years, a new breed of PaaS vendors have come to market with the intent to lift the constraints of PaaS 1.0. These PaaS solutions are software based platforms that can be installed on the infrastructure of the customer’s choice and support multiple software stacks. Now enterprises are interested because they can leverage these solutions in the public cloud, the private cloud, and in hybrid cloud scenarios. Enterprises can also use whatever stacks they wish and most enterprises have a mixture of stacks throughout their organization. The following image shows examples of PaaS 2.0 solutions.
The openness and flexibility of PaaS 2.0 solutions have led to increased interest in PaaS within large enterprises.
Domain Specific PaaS
But PaaS isn’t just a platform for building .Net or Python applications. Many platforms are being purpose built for specific solutions such as testing, cloud management (DevOps), mobile development, big data, and even APIs. Many of these domain specific PaaS solutions are integrated with the PaaS development platforms. Now developers simply connect to APIs for things like memcache, monitoring, logging, federated security, event processing, search, database management, and more.
In the image above you can see that with PaaS, both the infrastructure and the application stack is handled by the PaaS provider so that the developer can focus on building apps. The application stack layer is made up of multiple PaaS and SaaS solutions integrated at the API level. I listed a small sample of these add-ons in the Application Stack layer (see Heroku and Appfog for real life examples). With IaaS, the developers and DevOps team would have to install and manage all of these add-ons. With PaaS the developers simply call the APIs and pay for what they use. The amount of development and administration time this saves is enormous.
The next wave
The next generation of PaaS will radically change the world of development. Currently, mobile development is a very time consuming undertaking. Developers have to code for multiple phone platforms (iOS, Android, Windows etc.), tablets, and devices. In addition, front end mobile developers have the tedious task of connecting mobile front ends to various social networking sites, backend data stores, and even legacy systems (CRM, ERP, HR, etc.). Mobile Backend as a Service (MBaaS) platforms are solving that problem by abstracting all of the backend work and allowing developers to connect to these backend services through simple API calls. Some mobile platforms also perform the transformations so that the developer has one code base for all phones, devices and tablets.
Another area where PaaS solutions are emerging is with NoSQL. With the explosion in the amount of data that is being collected, NoSQL databases have gained popularity in recent years. NoSQL excels at quickly retrieving data from enormous datasets, something traditional relational databases do not do well. The problem with NoSQL databases like MongoDB, Hadoop, CouchDb, and others is that they can be extremely complex to manage and maintain. But now there are a number of new database as a service (DBaaS) solutions that abstract the complexities of NoSQL and distributed computing to make development easier by exposing simple APIs. Hortonworks (Hadoop), 10Gen (MongoDb), Microsoft Azure (SQL Server), and AWS Redshift (ParAccel under the covers) are examples of DBaaS solutions.
PaaS is finally starting to pick up momentum in large enterprises due to the open nature of the new generation of PaaS solutions. Domain specific PaaS solutions in areas like mobile, NoSQL, DevOps/cloud management, and others are making complex and time consuming engineering tasks simpler and faster. As more companies start to embrace PaaS, the speed of delivery should start to accelerate. Developers will spend more time focusing on business needs as enterprises offload more of their infrastructure and application stack tasks to the PaaS vendors. Companies that become competent with PaaS solutions will create a huge competitive advantage against their competition who continue to do things the old way. As more companies start producing results from leveraging PaaS, the expectations for IT to deliver quicker will put pressure on other IT shops to get on the PaaS bandwagon. PaaS will become a game changer over the next several years as the solutions mature. This is a defining moment in IT. The impact of PaaS will be analogous to the advancements in computing that led to the replacement of punch cards. You heard it here first.