我是 Scalr 用户,Scalr.net 订阅者,并且已经成为 Scalr 爱好者。我买不起 Rightscale。
Scalr 可以满足您的要求。
Scalr 有三个图像(每个都有 32/64 位版本),加上一个基本(通用)图像:
1) 一个负载均衡器镜像,运行 nginx。高可用性设置需要其中两个。Scalr 将管理您的名称服务,并在它们之间进行循环。如果一个实例出现故障,Scalr 会将其从 DNS 中删除并启动另一个实例。可以运行其他负载均衡器,但默认使用 nginx。
2) 有几个应用服务器镜像可用,运行 Apache/Tomcat/Rails。你在这里设置你的应用程序,无论是 PHP/Perl/Python/Java/Ruby/whatever。nginx 在这些实例之间路由请求,这些实例按唯一用户分组(基于 IP + 浏览器)。Scalr 也监视这些状态,并替换损坏的实例。
3) MySQL 数据库映像,具有自动主/从复制功能。只需部署您的架构,Scalar 就会处理复制并替换已失效的服务器。它还会定期备份您的数据。Scalar 的 DNS 提供主从主机名,因此您可以让您的应用程序从从属读取并写入主控。
所有这些实例类型都将根据负载自动扩展。您从最接近您正在做的事情的基本映像开始,然后为您的应用程序自定义它们。例如,我们在 apache 服务器实例上部署 Perl/Catalyst 应用程序,但我们从 nginx 前端服务器提供静态内容。我们不得不稍微修改我们的应用程序以使用读/写数据库句柄。
总而言之,我们花了大约三周的时间来解决 Scalr 中的错误,以使我们的应用程序达到可靠状态,我相信它在 Scalr 上是高度可用的。他们的支持非常出色,所以这些错误并没有给我带来太多困扰,而且这个系统真的出现了。它正在接近严重的可靠性。
附带说明一下,Scalr 的最佳功能是“同步到所有”功能,它会自动捆绑您的 AMI 并将其重新部署到新实例上——所有这些都不会中断服务。这可以节省您完成冗长的 EC2 映像/AMI 创建过程的时间,否则非常简单的管理任务可能需要 20 分钟。无论您是否扩展服务器场,您都可以使用它 - 即使在单个实例上也非常方便。
我每月向 Scalr.net 支付 50 美元来为我托管该服务,因为我认为它可以节省我的时间和金钱。到目前为止的底线是这样的:在我的最后一次演出中,我们有一个系统人员在我们的高可用性 Linux DB + 应用服务器设置上工作了一年......他未能达到我在三周内达到的那种可靠性. 与滚动我自己的相比,使用 Scalr 所节省的成本是极端的。
话虽如此,如果我负担得起 Rightscale,我会使用 Rightscale。但预付费用和每月 500 美元的费用使这成为不可能。一直在谈论挥舞前期费用以换取挥舞其中包含的咨询,但每月的服务费不会去任何地方。
我应该提一下,目前 sclar.net 的网站已经关闭,所以如果我想管理我的任何服务器场(不要让它们在 atm 上运行),我现在根本做不到。目前尚不清楚缩放是否适用于 scalr.net 订阅者。也就是说……这可能还不是一个成熟的解决方案。这种情况并不经常发生,在今晚之前,我经历过的唯一停机时间是一次几分钟。但是,是的......它现在就下来了,所以我必须提到它:)
我建议在做出决定之前彻底阅读http://groups.google.com/group/scalr-discuss上的支持小组。如果您选择 Scalr,请准备好测试您的设置并解决您在 google 组中遇到的任何问题。