I want to develop our new project using a PaaS provider. I'll be developing primary in PHP, but would like that the service can provide other languages too (and add-ons available too, like MongoDB, Memcached, redis, etc). I've seem some PaaS as PHPfog (and AppFog), dotCloud, orchestra.io, Red Hat's OpenShift, Pagoda Box, among others.
Of all of them, I think I like most dotCloud. But wanted to know of any reviews, recommendations and comparisons between some of the big players on PaaS.
What would you guys recommend?
Here is a series of blog posts that I have put together that compares most of the top PAAS providers. Most of my trials was using python, so I'm not sure how they compare with PHP.
Hopefully it helps.
PAAS Comparison:
http://kencochrane.net/blog/2011/06/django-hosting-roundup-who-wins/
OpenShift:
http://kencochrane.net/blog/2012/01/installing-django-application-on-openshift/
Stackato, built on top of CloudFoundry:
http://kencochrane.net/blog/2012/01/getting-djangocms-up-and-running-on-stackato/
Heroku:
http://kencochrane.net/blog/2011/11/developers-guide-for-running-django-apps-on-heroku/
dotCloud:
http://kencochrane.net/blog/2011/04/deploying-my-django-application-to-dotcloud/
Huge google spreadsheet with details about all of the PAAS's features:
https://docs.google.com/spreadsheet/ccc?key=0AiIXCd1D_TmGdFluZEJQakV5M0QwWXNWaXREcWR0Q0E#gid=0
Think about what features are important to you in a PaaS. You mention multiple language support, but what else. Be clear about what you like about dotCloud in order to help focus in on the right product.
Some of the key features that I recommend you focus on are portability, open stack, high-availability, elasticity, control and monitoring.
To prevent lock-in, you want to choose a PaaS that makes portability between clouds easy. Understand how each product facilitates the ability to change cloud provides as your needs or the environment evolves.
Many PaaS offerings dictate the stack that is available for your application, and this may significantly reduce your architecture options. You want the ability to choose languages, databases, middleware components, product versions, etc. that meet your needs. A PaaS that limits your options to a narrow menu of components is not so useful for real-world deployments.
If continuous uptime is important, then how does the PaaS monitor application health and recover from failures. Can it recover automatically. Can it dynamically scale your application based on load, provisioning new resources during peak demand and release those VMs when no longer needed.
Your application may have dependences between services which complicates deployment. Can the PaaS orchestrate and automatically manage your deployments regardless of the dependencies and complexities of your architecture. You want a PaaS that is flexible, open and extendible to be able to handle whatever your deployment requirements may be.
Finally, you want transparent monitoring at the application level. It should be easy to view the health of your application and how it is performing over time. There should be dashboards and logs available that simplify troubleshooting at the application level.
Here’s a great summary of the current landscape: http://natishalom.typepad.com/nati_shaloms_blog/2012/05/mapping-the-cloudpaas-stack.html
Norm
you can find a bunch of comparisons out there:
- Java PaaS shootout : http://www.ibm.com/developerworks/java/library/j-paasshootout/index.html?ca=drs-
- A developer's guide to PaaS : http://www.infoq.com/articles/paas_comparison
- Social Compare : http://socialcompare.com/en/comparison/platform-as-a-service-paas-for-cloud-applications-scalable-cluster-of-services
If you are looking for a multi-runtime PaaS, you will likely be interested in PaaS such as AppFog, Heroku, OpenShift, Google App Engine and CloudFoundry.com. If you are interested in JVM-based PaaS, you will most likely be interested in PaaS such as CloudBees or Jelastic.
Multi-environment PaaS tend to be more generic but on the other hand do not solve as nicely some of the hardest problems that each specific language/environment might face. Also, each PaaS covers different feature scope. CloudBees for example also provides tools for the development stage (such as continuous integration based on Jenkins).
Best thing to do is probably to test 2-3 of them and see for yourself - this is also a lot about taste and colors. This shouldn't take you too long. And if it does, then move on, it probably means this is not the right PaaS for you: the right PaaS is one where you should feel immediately at east and very productive with.
Cloudify (an Open PaaS Stack) that supports any lang on any cloud - it comes with builtin support for Mongo, MySQL, Solr etc.
i am using a silver plan on PhpFog, but i think you could try PagodaBox.com, they have better features: memcached and redis by default, ssh tunneling for mysql, and the interface is terrific!
pagodabox.com
来源:https://stackoverflow.com/questions/9542784/looking-for-paas-providers-recommendations