构建大规模REST服务 - PHPFog,cloudControl,Orchestra或Amazon AWS

时间:2012-02-28 08:58:05

标签: php rest cloud scalability

我即将规划和构建大规模REST服务。因此,我已经研究了如何在云中进行设置。起初我想用Amazon RDS和Amazon EC2来做 - 然后我研究了各种PHP云平台服务(PHPFog,cloudControl,Orchestra),这看起来就像我想要的那样。

但是我对此有一些疑问:

  • 这三项服务的总体差异是什么? (PHPFog,cloudControl和Orchestra)
  • 我想要一个可以在高峰时段自动扩展的平台,这意味着我不必为全天高峰时段所需的资源付费。至于我所读到的,PHPFog不支持弹性缩放?
  • 这些表现如何? Twitter,Facebook等大型服务可以在这些平台上运行吗?
  • 这些服务是否支持备份?
  • 在选择其中一个平台时,我还应该考虑其他什么?或者也许我不应该选择其中一种?

3 个答案:

答案 0 :(得分:3)

PaaS托管相对较新。我认为没有供应商超过Beta 2年。现场变化迅速,越来越多的初创公司正在进入市场。而且很难对它们进行比较,每种都有自己独特的风格和定价模式。

无耻插件:我们( •fortrabbit )也在为欧洲开发PHP PaaS。这就是我们对其他人了解得太多的原因;)我们刚刚编写了一个PHP PaaS Comparsion。 11个提供者 - 当前情况的快照:

选择正确PaaS的提示

  • 测试服务,总有一个免费的计划
  • 选择您所在国家/地区的供应商(结算,法律方面和SPEED)
  • 考虑您是否需要CLI或GUI

答案 1 :(得分:2)

(1)我不能代表PHPFog或cloudControl,但我可以告诉你一些关于Engine Yard的Orchestra平台的信息。

  • Stack:我们使用nginx 1.1.x和PHP 5.3.9。我们还使用nginx作为缓存层和负载均衡器。不鼓励写入文件系统,以便应用程序是无状态的,并且可以轻松复制和分发,从而允许您水平扩展。
  • 部署: Git或SVN。部署应用程序后,Orchestra将每隔60秒检查您的回购并自动下拉任何更改。您只需要担心将更改推送到您的仓库。
  • 结算:我们每小时收费。当您部署应用程序时,我们会向您收取按小时使用的费用,因此您只需支付使用的费用。
  • 支持:Olark在线聊天,Tender应用程序支持(ZenDesk),IRC,Twitter,电子邮件+入职支持(称为PANDA)
  • 缩放:您的应用程序可以自动向上和向下扩展,以适应流量高峰和增加的负载。

(2)Orchestra支持自动缩放应用程序。负载均衡器位于弹性应用程序的前面,并在与应用程序关联的所有实例之间分配工作负载。如果您的应用遇到流量高峰,我们会添加比例单位,直到满足要求为止。一旦流量消退,您的应用将再次缩减。有关更多详细信息,请参阅我们关于弹性的博客文章:

http://www.engineyard.com/blog/2012/orchestra-elastic-apps-for-everyone/

(3)您可以在Orchestra上运行小型和大型应用程序。如果您的应用程序是无状态的并且可以水平扩展,我们可以无限期地为您扩展它。有关如何构建无状态应用程序的更多信息,请参阅我们关于系统约束的文档:

http://docs.orchestra.io/kb/system-constraints/system-constraints

随着您的规模越来越大,您无疑会希望在您的应用旁边运行其他服务。像Twitter或Facebook这样大的东西通常包含一系列不同的应用程序和服务。我们通过插件提供一些额外服务,我们将继续增加更多服务。如果你还有什么想看的话,请告诉我!

(4)Orchestra每小时备份一次MySQL服务器。在内部,我们每3小时备份一次用户配置,负载平衡器配置和用户设置。代码是从您的存储库中提取的,因此我们不会对其进行备份。

答案 2 :(得分:1)

  1. 虽然它们都是PHP的PaaS,但可能很容易根据功能集和定价开始进行一对一的比较。你可以自己相当容易地做到这一点,所以我会集中讨论一些不那么明显的事情。

    • 生态系统:借助PHP Fog,我们可以在我们的平台上运行数以万计的应用程序,并且我们每天都在快速增长。这意味着它被证明是一个平台。这也意味着您可以让其他客户帮助您参与讨论论坛,编写教程等。
    • 支持:我们有三位专门的支持工程师。您将很快得到有用的答案来解决问题。如果您需要,他们可以深入了解您的代码并提供帮助。如果您有特殊情况请求,他们也可以处理。
    • 大客户:除了拥有庞大的生态系统外,我们还拥有大量客户。一些客户每天有大约一百万次点击。我们还有其他人甚至更多。

  2. PHP Fog正在添加对计划和响应式扩展的支持;但是,与此同时,您可以使用滑块进行缩放。我们很快就会发布一个API和命令行工具,所以你也可以自己设置自动扩展。这很容易。

  3. 我们在PHP Fog上托管的应用程序每天服务超过一百万个请求,它们运行没有任何问题,并且还有增长空间。我已经提到过我们非常棒的支持团队,可以帮助您构建应用程序,以便为PaaS环境做好准备。

  4. 整个PHP Fog平台都具有内置于堆栈每个部分的冗余,故障转移和备份。这包括负载平衡器,Varnish缓存服务器,应用程序服务器,数据库服务器,git存储库。

  5. 是的,您应该考虑其他不属于PHP的PaaS播放器。 AppFog支持多种语言(PHP,Ruby等)。它还支持MySQL,MongoDB,Redis等数据库技术。如果您坚持使用PHP / MySQL堆栈,则可能不需要这样。但是,如果您确实需要在将来添加其他服务,这将更加容易。