PaaS spending, though it represents only a small piece of the overall cloud environment, is growing at an astonishing pace. In a recent study, MarketsAndMarkets predicted the global PaaS market will grow to $6.94 billion in 2018, up from just $1.28 billion five years earlier-a compound annual growth rate of 32.54%.
Many companies have moved their development efforts to the cloud through PaaS to take advantage of its flexibility. The PaaS market has also become crowded, with such major players like Microsoft Windows Azure fighting its way to the top. Alongside, open source PaaS platforms like Cloud Foundry are also gaining popularity.
PaaS models can be viewed from two perspectives: one, private, hosted on premises or in a private cloud; and two, public, hosted by a third-party provider and paid for on a subscription basis. While this is one way, there is a completely different perspective of looking at it too: how the PaaS is linked to their operating environments. Here again, two models emerge: one, linked to the Software as a Service environment (e.g. SalesForce, Heroku), and two, linked to a particular cloud operating environment (e.g. AWS Elastic Beanstalk).
While options are aplenty while choosing a PaaS provider, a few key considerations do stand out:
- Programming languages and server side technologies. If business priorities indicate strong reliance to .NET architecture then working with a .NET centric PaaS makes sense. If development works with multiple languages and server side technologies then a polyglot PaaS is likely a better fit.
- Storage. If the business need is for a transaction processing system with low latency and consistent performance then consider the ability to provision the needed level of IOps. If scalability is paramount then a distributed, NoSQL key value data store might be the right choice for your application.
- Developer support. Support for developer tools like Eclipse and Visual Studio are key. The same applies to code management tools such as Git.
- Application integration and support. PaaS providers typically manage databases, but they may at times have caveats built in.
- Can data store be shared with other applications in the PaaS cloud?
- If data is to be provided to another application will data have to be exported?
- Can data be replicated to another database?
- Costs and budgets. Last but not the least, costs! It is reasonable to expect that a PaaS service will cost more than a comparable IaaS service that leaves out software infrastructure management. The incremental cost of these services is an important key to evaluating the efficacy of the PaaS solution.
Though the concept of PaaS was slow to catch on, due to performance and security concerns, the concept is now universally accepted. Experts believe that as a development methodology, PaaS is here to stay.