如何使用云来托pipe网站?

为了托pipe网站,我们目前正在使用英国托pipe的专用Linux机器。 但pipe理它们是一场噩梦,备份,巨大的负载,停机等。

我正在研究由RackSpace开发的OpenStack。 是否有可能使用我们的服务器托pipe网站的平台?

我了解云平台可以让您扩展您的基础架构,这正是我们所需要的。 但是我们如何使用它来运行MySQL和Apache呢? 对于大多数WordPress的网站?

编辑:这些网站只是使用标准的LAMP堆栈正常的WordPress网站。

大多数“云”提供商给你的IaaS。 这意味着您将获得一组您可随意pipe理的虚拟机。 简而言之,这些只是VPS服务,还有一个API的附加function,可以在需要时创build新的服务器。 有时你可以将这个API绑定到一些简单的指标(CPU负载,stream量等),使它更容易一些。

但这不是魔术。 它不会让你的网站无需工作就可以扩展。 你所要做的就是devise你的系统,这样你就可以添加更多(类似的)机器来分配负载,并且可以在这些机器的损失中幸免于难。

第一步是:

  • 一个“无共享”的networking应用程序:确保所有网页尽可能无状态。 HTTP请求之间的任何持久性必须存储在非本地。 最初,这意味着一切“关键”必须到数据库,并且对于像memcached这样的东西是非关键的。

  • 负载均衡器,容错分配器。 要么由主机提供,要么由您自己的(HAProxy,varnish,NginX)在您的应用程序前面运行(请务必使其成为冗余)。

  • 一个复制的数据库。 例如,主/从中的MySQL以及一些故障转移机制,如果主服务器出现故障,则会将“浮动”IP编号迁移到从服务器。 或一个主/主,这也可以给你一些额外的吞吐量,在延迟的代价。 亚马逊还为您提供一个MySQL兼容的数据库,其中包含您可能需要的所有冗余。 或者去完全不同的东西,比如riak,cassandra …其实这是最难的部分; 但只是在两个更大的实例上复制MySQL是很长的路要走; 特别是如果你在caching层上很聪明的话。

这听起来像你正在寻找平台即服务 ,或PaaS。 使用PaaS,提供者将负责所有的操作细节。 部署应用程序可以很简单,只需向提供者提供一个到源代码库的URL即可。

一些支持PHP的是

  • PHP雾
  • Cloudcontrol
  • Orchestra.io

这里是三个产品的比较,由每个开发者编写。

你可以在云中做很多事情。 我将详细介绍我的提供者支持的内容。 我使用Linode( http://www.linode.com/ ),它在全球有六个数据中心(包括伦敦的一个数据中心)。 他们是伟大的,价格优惠,有一个大的function,并在支持票据周转时间非常快。 “Linode”是您购买的虚拟机(它们的术语)。

Linode的基于云的基础设施支持dynamicconfiguration和取消configuration“Linode”。 这意味着,如果您需要一台机器来玩一小时/一天/一周/一年/一年,您只需支付您使用的费用。

Linode支持所谓的StackScript,它允许您自动执行您可以configuration服务器的过程。 我不知道细节,但是AFAIk你可以指定操作系统,磁盘布局,交换configuration文件等。

Linode还有一个广泛的API用于计费,供应等。

Linode还支持NodeBalancerforms的负载均衡。

这四个链接在一起的function可以让你设置如下的东西:

你已经说了一个Linode的Web“东西”,如Apache / PHP和MySQL的Linode。 如果所有设置都正确,则可以使用脚本监控计算机上的资源使用情况,并自动购买,configuration,引导并将其自动添加到MySQL群集或NodeBalancer中。 这意味着,如果你的stream量大幅增加(比如说你被偷懒),你将自动扩展到满足stream量/处理/带宽/任何需求的任何需求。 你将有一个MySQL集群来回复制,不pipe多个MySQL服务器是同步的,那么你将有一堆平衡PHP负载的Web服务器。

Linode在IP故障转移,带宽池,IPv6等方面也提供了相当多的冗余。我还想说,我绝对不是Linode的一员,只是一个快乐的客户。