我的Facebook应用程序的stream量正在疯狂增长,我需要一些关于如何扩展的build议。 我可能不会在今天结束之前保持运行,因为它是从我已经超负荷的专用服务器托pipe的。 我需要将其移动到自己的盒子或像e2c这样的云服务。
像e2c似乎是要走的路,但我的服务器pipe理技能是可怕的。 是否有一个良好的前端pipe理用户界面的e2c或其他托pipe服务是完全pipe理的成本相当? 如果这意味着我可以在24小时内将所有的东西都切换到正常运行,那么我现在不介意花更多的钱。
并不是所有的云服务都可以自动扩展。 有些只是简单地提供对大量虚拟机实例的访问,这将需要你重新devise你的应用程序以在多台机器上水平扩展。 根据您的应用程序的devise方式,您可以使用Windows Azure或Rackspace Cloud Sites之类的软件 ,通过简单地支付更多的实例即可轻松扩展或缩小。 这些将自动处理负载平衡和请求路由,因为EC2会要求您使用他们的弹性负载平衡API来连接它们 。
究竟是什么导致你的当前服务器变得超载? 如果您的应用程序使用大量图像或文件,则首先要开始托pipe在Amazon Cloud Front,Rackspace Files或Azure CDN等CDN上。 这将消除大部分的stream量击中你的服务器,并可能让你保持现有的设置,而不重写云。 同样,如果您的数据访问层使用的资源过多,则应该考虑将您的应用程序转换为使用Azure表/ SQL或Amazon的RDB或简单数据库 。
您可能还想看看关于云中“自动缩放”的主题 。 Rackspace Cloud Servers控制面板的价值也比Amazon EC2更容易使用。
亚马逊EC2还有许多其他的竞争对手,比如RackSpace Cloud和GoGrid等等。 您应该查看每个供应商的定价模型,看看您的Facebook应用程序最终可能会花费您的每个供应商的服务。
如果你需要一个前端pipe理界面,你可以在EC2上运行Plesk,或者像cPanel一样。
通常,您可以在几分钟内使用这些云服务中的任何一台工作服务器。 让它安装到您的Facebook应用程序所需的实际function是另一个问题。 EC2有各种预先安装的图像,已经安装了某些应用程序。 我不确定RackSpace是否有这个function。 不过,您可以在EC2和RackSpace上创build自己的图像。 因此,您可以快速启动所有自定义设置的新服务器。
我希望这有帮助。