重新考虑高可用性架构:横向扩展以节约开支

日期: 2013-10-17 作者:Alastair Cooke翻译:王学强 来源:TechTarget中国 英文

大多数企业的虚拟化平台都为虚拟机提供了不同程度上的高可用性架构,通常都是建立在共享存储和冗余hypervisor特性的基础之上。但是对于已经内置高可用性的应用程序来说,真的需要这些吗?最新部署在云中的应用程序都在一组虚拟机的前端部署了负载均衡器,以提供高可用性服务。在一些情况下,我们可以将这种方法应用到企业的其他应用程序上。 许多应用程序都采用了纵向扩展、单一服务器的架构。

考虑一下相关的数据库服务器;为了使得服务器有更好的性能表现,除了更快的磁盘和网络连接,还需要为服务器分配更多的CPU和RAM。数据库只有运行在配置强大的服务器上才能发挥其作用。高可用性架构需要基础设施保证数据库服务器尽可能的……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

大多数企业的虚拟化平台都为虚拟机提供了不同程度上的高可用性架构,通常都是建立在共享存储和冗余hypervisor特性的基础之上。但是对于已经内置高可用性的应用程序来说,真的需要这些吗?最新部署在云中的应用程序都在一组虚拟机的前端部署了负载均衡器,以提供高可用性服务。在一些情况下,我们可以将这种方法应用到企业的其他应用程序上。

许多应用程序都采用了纵向扩展、单一服务器的架构。考虑一下相关的数据库服务器;为了使得服务器有更好的性能表现,除了更快的磁盘和网络连接,还需要为服务器分配更多的CPU和RAM。数据库只有运行在配置强大的服务器上才能发挥其作用。高可用性架构需要基础设施保证数据库服务器尽可能的保持运行状态,并且能够从错误中快速恢复过来。但是,实施高可用性需要花费额外的开销。通常重要的虚拟机必须放置于昂贵的共享存储上。我们还需要一个企业级的hypervisor,并且具有像微软故障转移集群或者VMware高可用性这样的特性。

另外一种更为经济的方式是横向扩展多服务器架构,可以将负载分配到多台服务器上。一个典型的例子就是Web server farm。为了提高website性能,你可以使用更多的虚拟机,并且只需要确保足够数量的web服务器可以支撑当前的负载。最新的开源数据库服务器拥有同样的架构:Redis、Apache Cassandra和MongoDB都是通过横向扩展共享服务器规模来提升性能表现,而不是纵向增加单个节点的性能。

许多公司可能会觉得采用这种方式很困难,因为新的架构意味着应用程序必须针对新平台重新编写——这就是为什么大多数云应用程序都需要从头进行构建,而不能从现有的系统上进行迁移。

重写这些应用花费的时间和开销导致了虚拟机只能运行在昂贵的共享存储和hypervisor集群上。但是,环境中的一些部分可以从虚拟机平台横向扩展中获益,这个过程中可以使用低开销的服务器和本地存储来进行水平扩展。想要使得这种方式正常工作,负载必须运行在大规模的一次性虚拟机上,其在负载处于峰值时自动提供服务,而当峰值过去,又回到待用状态。Web服务器是最为典型的,因为它们通常只和客户端进行短暂的连接,并且将所有数据都保存在数据库服务器当中。

另外一种使用情况是Citrix或者Remote Desktop farm,一组虚拟机可以提供横向扩展的桌面服务;甚至一些类型的虚拟桌面负载也可以通过这种方式进行扩展。使用负载均衡机制的任何负载都可以分配到一组服务器上。如果底层的文件系统可以在一组虚拟机当中实现文件复制,那么即便是文件服务器也可以进行横向扩展。因为单独的虚拟机不能存储任何唯一的有价值数据,所以主机不需要弹性机制,也没有必要将虚拟机放置于共享存储之上。这样可以允许组织不必使用性能最好的硬件,或者使用没有冗余风扇或者供电模块的服务器。你还可以在一个免费或者价格较低的hypervisor上运行负载。这至少可以降低运行这些虚拟机需要的一半硬件费用,或许更多。

但是这并不适用于每一个企业的IT部门。许多服务器仍旧需要储存重要数据的唯一副本,所以它们需要高可用性、备份和全面的灾难恢复计划。即便是无状态的Web和桌面层也需要可靠的数据层、数据库服务器和文件服务器。通过这种方式,你仍旧需要使用性能最好的硬件,但是重新思考使用稍差的服务来实现对现有负载的横向扩展。也许同样的性能稍差的平台可以用于现在正运行在Amazon上的开发系统。

翻译

王学强
王学强

TechTarget特邀编辑,毕业于计算机专业,现任职于外企IT分析师,负责网络、防火墙和服务器等系统运维工作,对虚拟化、网络安全和渗透测试拥有浓厚兴趣,工作外热爱旅行、汽车和健身。

相关推荐