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


Building large scale REST service - PHPFog, cloudControl, Orchestra or Amazon AWS

我即将规划和构建一个大规模的REST服务。正因为如此,我研究了如何在云中进行设置。起初,我想用亚马逊RDS和亚马逊EC2来做这件事,但后来我研究了各种PHP云平台服务(PHPFog、cloudControl、Orchestra),这些服务看起来正是我想要的。

然而,我确实对此有一些问题:

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

PaaS托管相对较新。我认为没有哪个供应商的Beta版超过2年。形势迅速变化,越来越多的初创企业进入市场。很难对它们进行比较,每一种都有自己独特的风格和定价模式。

无耻插件:我们(•fortrabbit)也在为欧洲开发PHP PaaS。这就是为什么我们对其他人了解如此之多;)我们刚刚编写了一个PHP PaaS比较。11家供应商-当前情况的快照:

  • http://blog.fortrabbit.com/comparing-cloud-hosting-platforms/

选择正确PaaS的提示

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

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

  • 堆栈:我们使用nginx1.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

随着你的规模越来越大,毫无疑问,你会想在应用程序的同时运行额外的服务。像推特或脸书这样大的东西通常由不同的应用程序和服务组成。我们通过我们的插件提供一些额外的服务,我们将继续添加更多。如果你还有什么想看的,请告诉我!

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

  1. 虽然它们都是针对PHP的PaaS,但开始基于功能集和定价进行苹果对苹果的比较可能很容易。你自己可以很容易地做到这一点,所以我也会关注一些不太明显的事情。

    • 生态系统:使用PHP Fog,我们可以在平台上运行成千上万的应用程序,而且我们每天都在以更快的速度增长。这意味着它被证明是一个平台。这也意味着你可以在论坛、写作教程等方面得到其他客户的帮助
    • 支持:我们有三名专职的支持工程师。你会很快得到对未决问题的有用回应。如果你需要它,他们可以介入并帮助你编写代码。如果你有特殊情况的要求,他们也可以处理
    • 大客户:除了拥有庞大的生态系统,我们还有大客户。一些客户每天点击量约为100万次。我们还有更多的其他人

  2. PHPFog增加了对定时和响应缩放的支持;但是,与此同时,您可以使用滑块进行缩放。我们还将很快发布API和命令行工具,因此您也可以自行设置自动缩放。这很容易。

  3. 我们有托管在PHP Fog上的应用程序,每天提供超过一百万个请求,它们运行起来没有任何问题,而且有增长的空间。我已经提到了我们出色的支持团队,他们可以帮助您构建应用程序,使其为PaaS环境做好准备。

  4. 整个PHP Fog平台在堆栈的每一部分都内置了冗余、故障切换和备份。这包括负载均衡器、Varnish缓存服务器、应用程序服务器、数据库服务器、git存储库。

  5. 是的,您应该考虑其他并非PHP特有的PaaS参与者。AppFog支持多种语言(PHP、Ruby等)。它还支持MySQL、MongoDB、Redis等数据库技术。如果你坚持使用PHP/MySQL堆栈,你可能不需要这个。但是,如果您将来确实需要添加其他服务,这将更容易。