Platform as a Service (PaaS) allows developers to create and deploy software with ease, without worrying about managing hardware requirements and associate software stacks. Its a revolutionary way to develop software and instrumental in reducing development and deployment cost significantly.
Today we have so many PaaS providers to choose from – Pivotal Cloud Foundry, IBM BlueMix, Microsoft Azure, Salesforce Heroku, Google App Engine, AWS Beanstalk and others. How do you choose the right one based on your requirements ? What could be some criterias for selection in addition to the ‘cost ?
With differences between various providers increasingly narrowing down, its definitely not an easy task. However, according to me, answer to some of the following questions is a good first step.
- Does it support the programming languages you need?
- Does it support your required Application Frameworks – like Ruby on Rails, Sinatra etc. ?
- Does it support the services that your application depends on – like MySQL, Redis, RabbitMQ, PostgreSQL etc ?
- How does it handle application scalability ? Does it support horizontal or vertical scaling ?
- Is the offering suitable for both test/dev and production setups ?
- What kind of business continuity services are provided ? Does it provide backup, restore and disaster recovery services ?
- What is the PaaS deployment model you are looking at – Public, Hosted, Private or Hybrid PaaS. ?
- What is the cost of the offering?
One of the very good resource to compare various PaaS offerings is – http://www.paasify.it/vendors
The vendor profiles and the code is in github – https://github.com/stefan-kolb/paas-profiles , allowing anyone to use it to create tools for quick comparisons the way they want. Excellent work by its developers and very helpful.