我正在寻找一种成本效益高的工具,用于管理Ec2上的Web应用程序。Rightscale似乎是大佬,并对此收费。Scalr看起来是一种更具成本效益的解决方案,但很难找出任何真实的客户经验。
我需要的关键方面是一个负载均衡器(http和https)以及一种自动增加Web服务器容量的方法,当负载增加时自动启动实例,以及在负载减少时终止实例。
据我所知,很多人都在自己开发这样的东西。我们正在尝试发布一个应用程序,不想与太多的系统管理员争斗。鉴于性能等重要性,我将非常感激从该领域听到的建议和经验。
我正在寻找一种成本效益高的工具,用于管理Ec2上的Web应用程序。Rightscale似乎是大佬,并对此收费。Scalr看起来是一种更具成本效益的解决方案,但很难找出任何真实的客户经验。
我需要的关键方面是一个负载均衡器(http和https)以及一种自动增加Web服务器容量的方法,当负载增加时自动启动实例,以及在负载减少时终止实例。
据我所知,很多人都在自己开发这样的东西。我们正在尝试发布一个应用程序,不想与太多的系统管理员争斗。鉴于性能等重要性,我将非常感激从该领域听到的建议和经验。
我是Scalr用户,也是Scalr.net订阅者,成为了Scalr的粉丝。
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数据库镜像。只需部署您的模式,Scalr即可处理复制并替换失效的服务器。它还会定期备份您的数据。 Scalr的DNS提供主机名和从属主机名,因此您可以让应用程序从从属中读取并从主服务器写入。
所有这些实例类型都将根据负载自动扩展。您可以从最接近您正在做的基本镜像开始,然后为您的应用程序定制它们。例如,我们在Apache服务器实例上部署我们的Perl/Catalyst应用程序,但是我们从nginx前端服务器提供静态内容。我们不得不稍微修改我们的应用程序以使用读/写数据库句柄。
总体而言,在通过Scalr解决了一些bug之后,花费了约三周时间将我们的应用程序变得可靠,并且我非常有信心它与Scalr一起是高度可用的。他们的支持非常好,所以我对错误也不太在意,而且该系统真的在进步。 它正朝着严格的可靠性方向发展。
作为一个小提示,Scalr最好的功能是“同步所有”功能,它可以自动捆绑您的AMI并在新实例上重新部署它 - 所有这些都不会中断服务。这可以节省您通过漫长的EC2镜像/ AMI创建过程的时间,在此过程中,即使是非常简单的管理任务也可能需要20分钟时间。无论您是否扩展服务器群,都可以使用此功能 - 即使在单个实例上,这也非常方便。我会对你的问题进行评论,因为给出一个具体的答案有些雄心勃勃。
首先,我看到你的标签中有haproxy。这绝对是EC2中已经被证明最好的负载均衡软件。在AWS论坛上有关于使用haproxy的文档和经验。
我无法对scalr发表意见,但Rightscale正在向正确方向发展。RightScale在其路线图中最有趣的功能之一是它是一个管理云系统,不仅适用于亚马逊的EC2,而且适用于任何云。这使得他们在请求负载平衡和升级时非常有前途。
此外,你可以在rightscale上注册免费开发者帐户,并测试一些他们的AMI和免费脚本,它们相当令人印象深刻。
虽然这听起来像我在那里工作,但我只是一个云用户,与他们没有联系。如果你想到了这一点。
我希望这能帮助你,至少对讨论有所帮助。
Geo
我已经使用Scalr大约两个月了,成功地将几个生产应用程序逐步转移到该平台并取得了良好的结果。我强烈推荐他们快速提供支持和价值。但是我希望看到他们提高平台的可用性。
总的来说,基于原始贴子的简单案例,这是一个很好的选择。
每个服务都会有不好的一天。AWS服务也会出现停机时间。但是,仍然有用户在AWS上运行他们的应用程序。
我在Scalr.net上有几个农场,与Rightscale相比较。我不必付出巨额代价。
总体而言,服务非常可靠。现在有了脚本引擎,我可以设置自己的脚本来管理我的实例。
此致 敬礼 Hareem Haque
两个服务(rightscale和scalr)都很棒。他们的提供不同,价格也不同。但他们都是我在寻找的东西。就我们的预算而言,scalr符合我的需求。一开始我通过谷歌小组找到了支持,感觉很奇怪,但实际上非常快速和高效。
他们的解决方案也是开源的(不错),并且他们的路线图中还有V2版本,支持其他提供商。
等待并观望,但目前为止,我对它非常满意。
在选择正确的方案上,可能没有每个人都预期的那么简单。我曾与Scalr会面并听取了他们关于平台的讲解,也听取了RightScale关于他们平台的讨论。如果您有一个简单的SOA(应用服务器 - 数据库服务器 - 文件服务器),那么任何一种选择对您公司来说都是正确的。
最终,如果您创建了一些自定义的中间件,并依赖已知的套接字或具体握手点,则需要考虑负载平衡和自动缩放您所能管理的内容,并针对这些服务无法处理的内容退回到您自己的解决方案。
我现在正在研究Scalr,虽然它看起来很不错,但我决定继续使用自己的脚本来进行云管理/扩展。我现在有8台服务器,只支付AWS费用。我使用自托管的chef、nagios和许多其他工具。我的数据库是mysql和mongodb,负载均衡器是haproxy,应用层是rails。除非我需要数百台服务器,否则我认为我会继续使用脚本;-)