云计算会让容错走开吗?


IT已经告别百花齐放、万马奔腾的时代。曾几何时,王安、DEC、Compaq、SUN、SGI等这些响当当的企业已经淡出了视野。但是很奇怪,Stratus,这个容错机的代表,仍然好好的活着。从1980年Stratus诞生至今,几十年过去了,没有大红大紫,但容错服务器始终活跃。

Stratus没有大红大紫,与这家公司的风格有关。Stratus是一个典型的技术公司,并不擅长市场推广。在国外,Stratus拥有忠实的客户基础,用户的技术水平比较高,不需要太多的市场培育和引导。只要用户需要高可靠性,就会采用Stratus或者其他品牌的容错服务器。国外用户不会在技术问题上纠结。与之相比,国内市场虽然发展很快,但市场需要培育和引导。这恰恰不是Stratus的强项。

从商业利益考虑,软件厂商往往不会主动推荐容错技术。如果采用容错服务器,无论是操作系统、数据库,还是应用软件License的销售数量,较之双机冗余要减少一倍。因此,有人戏言,双机冗余方案是厂商的选择,容错方案是用户的选择。如果用户坚持采用容错,软件厂商就会表示支持,但是软件厂商不会主动推广容错服务器。微软如此,Oracle都是如此。

在技术上,借助“锁步技术”,容错服务器可以最大程度校正硬件故障。在容错服务器设计上,CPU、内存、I/O等,全部采用冗余设计,并通过锁步技术,对每个计算过程进行比对,准确无误才会进入下一个步骤。因此其系统的可靠性可以达到5个9的 水平。

但是随着云计算时代的到来,系统可靠性全部依赖于云。云计算通过计算资源池化,使得计算资源并不依赖于单一系统的高可靠性,通过集群技术,保证系统整体的高可靠性。那么,云计算时代会成为容错服务器的终结者吗?

答案是否定的。对于很多.COM企业而言,特别是网站应用多采用分散式部署结构,不会因为单一服务器故障,影响这个系统的访问。实际上,在访问网站的过程中,每一个查询和访问,哪怕是同一个网站,提供后台服务器也很有可能不是同一个,所以,只有访问被分配到故障服务器,用户才会感觉得到。但并不是所有的应用都具备这样的特征。

对于需要高可靠性的应用,仍然需要高可靠性的服务器。虚拟化并不能够解决高可靠性的难题。以VMware为例,高可靠性需求就需要采购Fault Tolerance模块,对于低一些要求的应用,需要采购HA模块。其中,Fault Tolerance类似容错,HA类比于双机冗余方案。

Fault Tolerance是否具有容错服务器的高可靠性?现在谈论,为时尚早。对于云计算而言,云计算同样需要容错服务器作为IaaS平台。