我想使用 PaaS 提供商开发我们的新项目。我将主要使用 PHP 进行开发,但希望该服务也可以提供其他语言(以及可用的附加组件,如 MongoDB、Memcached、redis 等)。我似乎有一些 PaaS,如 PHPfog(和 AppFog)、dotCloud、orchestra.io、Red Hat 的 OpenShift、Pagoda Box 等等。
在所有这些中,我想我最喜欢 dotCloud。但想知道 PaaS 上一些大玩家之间的任何评论、建议和比较。
你们会推荐什么?
我想使用 PaaS 提供商开发我们的新项目。我将主要使用 PHP 进行开发,但希望该服务也可以提供其他语言(以及可用的附加组件,如 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/
开班:
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/
赫罗库:
http://kencochrane.net/blog/2011/11/developers-guide-for-running-django-apps-on-heroku/
点云:
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
规范
you can find a bunch of comparisons out there:
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(一个开放的 PaaS 堆栈)支持任何云上的任何语言——它内置了对 Mongo、MySQL、Solr 等的支持。
我在 PhpFog 上使用白银计划,但我认为您可以尝试 PagodaBox.com,它们有更好的功能:默认情况下 memcached 和 redis,mysql 的 ssh 隧道,界面非常棒!
宝塔盒子网