我想使用PaaS提供商开发我们的新项目。我将用PHP开发primary,但希望该服务也能提供其他语言(以及可用的附加组件,如MongoDB、Memcached、redis等)。我似乎有一些PaaS,如PHPfog(和AppFog)、dotCloud、orchestra.io、Red Hat的OpenShift、Pagoda Box等。
在所有这些中,我想我最喜欢dotCloud。但我想知道PaaS上一些大玩家之间的任何评论、建议和比较。
你们推荐什么?
以下是我整理的一系列博客文章,对大多数顶级PAAS提供商进行了比较。我的大部分试验都是使用python,所以我不确定它们与PHP相比如何。
希望它能有所帮助。
PAAS比较:
http://kencochrane.net/blog/2011/06/django-hosting-roundup-who-wins/
OpenShift:
http://kencochrane.net/blog/2012/01/installing-django-application-on-openshift/
Stackato,构建在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/
巨大的谷歌电子表格,包含有关PAAS所有功能的详细信息:
https://docs.google.com/spreadsheet/ccc?key=0AiIXCd1D_TmGdFluZEJQakV5M0QwWXNWaXREcWR0Q0E#gid=0
思考在PaaS中哪些功能对您很重要。你提到了多种语言支持,但还有什么。明确你喜欢dotCloud的地方,以帮助你专注于正确的产品。
我建议您关注的一些关键特性是可移植性、开放堆栈、高可用性、弹性、控制和监控。
为了防止锁定,您需要选择一种PaaS,使云之间的可移植性变得容易。了解每种产品如何促进随着您的需求或环境的发展而改变云提供的能力。
许多PaaS产品规定了可用于应用程序的堆栈,这可能会显著减少您的架构选项。您希望能够选择满足您需求的语言、数据库、中间件组件、产品版本等。将您的选择限制在狭窄的组件菜单中的PaaS对现实世界的部署没有那么有用。
如果持续的正常运行时间很重要,那么PaaS如何监控应用程序运行状况并从故障中恢复。它能自动恢复吗。它能否根据负载动态扩展您的应用程序,在高峰需求期间调配新资源,并在不再需要时释放这些虚拟机。
您的应用程序可能在服务之间存在依赖关系,这会使部署变得复杂。无论您的体系结构的依赖性和复杂性如何,PaaS都能协调并自动管理您的部署吗。您需要一个灵活、开放和可扩展的PaaS,以便能够处理您的任何部署需求。
最后,您希望在应用程序级别进行透明监控。查看应用程序的运行状况以及它在一段时间内的表现应该很容易。应提供仪表板和日志,以简化应用程序级别的故障排除。
以下是对当前形势的总结:http://natishalom.typepad.com/nati_shaloms_blog/2012/05/mapping-the-cloudpaas-stack.html
标准
你可以找到一堆比较:
- Java PaaS枪战:http://www.ibm.com/developerworks/java/library/j-paasshootout/index.html?ca=drs-
- PaaS开发人员指南:http://www.infoq.com/articles/paas_comparison
- 社会比较:http://socialcompare.com/en/comparison/platform-as-a-service-paas-for-cloud-applications-scalable-cluster-of-services
如果你正在寻找一个多运行时的PaaS,你可能会对AppFog、Heroku、OpenShift、Google App Engine和CloudFoundry.com等PaaS感兴趣。
多环境PaaS往往更通用,但另一方面并不能很好地解决每个特定语言/环境可能面临的一些最困难的问题。此外,每个PaaS涵盖不同的功能范围。例如,CloudBees还为开发阶段提供了工具(例如基于Jenkins的持续集成)。
最好的办法可能是测试其中的2-3个,然后自己看看——这也与味道和颜色有关。这应该不会花你太长时间。如果是这样,那么继续前进,这可能意味着这不是适合你的PaaS:正确的PaaS是一个你应该立即感到在东方并且非常高效的PaaS。
Cloudify(一个开放的PaaS堆栈)支持任何云上的任何lang-它内置了对Mongo、MySQL、Solr等的支持。
pagodabox.com