大型机和x86 博弈中共生 设备硬件
X86与大型机的恩怨
纵观整个IT领域的发展周期,从1960年代到现在的2010年代,历经大型机、小型机、微机、互联网,到人们认为即将成为下一个主流的、由上百亿台移动终端加数据中心组成的移动互联网,IT技术的进化一直呈现出一种后浪推前浪的形态。
俗话说,长江后浪推前浪,前浪死在沙滩上,于是有关某某技术已死的论调在IT界总是此起彼伏,好比昨天的51CTO外电头条再次提到了RISC和UNIX将离开历史舞台的这个说法。这里面固然少不了好事的IT媒体们推波助澜,不过很多市场数据看起来似乎也是支持这种论点的。
市场数据表明大型机/小型机将死?
比如,根据IDC的报告,2011年第一季度是全球服务器市场利好的一段时间。期间,以IBM System z为主体的大型机产生了10亿美元的收入,占据整个服务器市场的8.8%;以IBM、惠普和甲骨文为主体的小型机产生了26亿美元的收入,占据整个服务器市场的21.8%;其他将近七成的市场都由数十个厂商的x86服务器所占据,总计售出约190万台,产生79亿美元的营收。也就是说,这期间新增服务器市场在大型机、小型机和x86之间的比例大约为1:2:7。要知道,x86是1978年Intel刚刚做出的新鲜货,主要是针对个人消费市场的;Windows做服务器还是上世纪90年代才开始,Linux的诞生也不过是1991年的事(今年刚好是Linux诞生20周年),也就是说上世纪90年代之前的服务器市场根本是没有x86这个玩意儿的。从50、60年代的只有大型机服务器,到70、80年代以UNIX为主导,到2000年代x86占据主流,到现在ARM借移动终端之势崛起继而进军数据中心,以20年为周期的风水轮流转,这个市场变化的速度令人瞠目结舌。
另一方面,快速变化的市场也带来了非常快速的企业兴衰史。比如,大型机时代的蓝色巨人和七个小矮人(注:即IBM、Burroughs、 UNIVAC、NCR、Control Data、Honeywell、General Electric和 RCA),现在只剩下一个巨人。十五年前就有声音说大型机已死,就是因为看到IT界变化快速的这个情况,认为IT技术的生命周期只有短短数个十年。
表象的数据和变大的蛋糕
但是仔细想来,这种市场数据真的有足够的说服力吗?除了市场数据之外,很多大型机厂商也喜欢用MIPS这个数值来代表大型机市场的发展情况,不过这也不过是提供另一个角度的数据支持,不足以形成完整的论据。51CTO编辑认为,要了解服务器技术的发展趋势,关键还是在于服务器市场的需求细分。企业使用服务器存在各种各样的需求,对服务器所能够提供的可靠性、可用性、安全性、伸缩性的需求都不尽相同。单从总体占有率来看,似乎是x86服务器大肆占领大型机和小型机的领地;但事实是,整个过程的大背景是全球互联网的爆炸式发展:整个服务器市场的蛋糕变大了。
虽然互联网技术在上世纪70年代就已经被创造出来,但是真正进入广大商业市场却是在上世纪90年代中期。过去二十年间,整个互联网行业经历了从无到有的变化,同时大力促成了中小企业信息化的发展过程。x86填补了这个新兴行业的大部分需求,它的市场占有率其实是互联网行业和各个行业中小企业信息化发展情况的反射。再细看大型机和小型机所代表的行业:金融/保险,通信,零售,航空,国防,制药,汽车……这些企业尝试在x86服务器上运行自己的一部分业务倒是有的,但是真没听说过哪家企业把自己原本建立在大型机/小型机上的系统彻底抛弃,投奔x86服务器集群的。这就好比小轿车无法取代卡车和火车的功能一样,其技术需求存在着某种程度的不可替代性。
更何况,IT产品虽然短命,但是对于已经被广泛投入商业使用的技术和产品,尤其是在金融、电信这样的关键性行业领域被广泛使用的技术,其生命周期远比个人消费级产品的生命周期长很多,相关技术支持的年限都在十年以上,以顺应大型企业的长期技术规划。
针对认为大型机/小型机需求并没有衰退的观点,也是有市场数据支持的:那就是虽然历年来大型机/小型机的市场份额一直在下降,但是除了几次经济衰退的时候,大型机/小型机服务器的销量其实一直在逐年递增。比如上面提到的IDC在2011年第一季度的报告,大型机和小型机的销售收入相较2010年同期分别增长了41.1%和12.5%,这两个数字甚至高于整体服务器市场收入的增幅(12.1%)。
投奔x86:pros and cons
从事非关键业务的中小企业肯定不会考虑大型机/小型机,我们这个议题的关键点在于从事关键业务的大型企业们的需求。为什么会有“投奔”x86服务器的需求?又有哪些因素导致这些企业无法抛弃大型机/小型机?下面先罗列一下各方的观点,再看看对用户而言最为合理的选择。
理性下的理由
想要“投奔”x86服务器集群的理由
价格因素
无论大型机/小型机厂商们怎么说也好,但用户的声音就是,大型机比小型机贵一倍,小型机比x86方案贵一倍。用户不是傻子,大家都会做算术;就算价格差异的数值有所不同,但是价格的排列顺序基本不会有太大出入。
服务器维护的难度
这点尤其针对大型机。特别是在中国,由于IT行业的积淀比西方国家少了几十年,要找到一个懂行的大型机系统管理员是非常难的,甚至找一个有经验的小型机系统管理员都不那么容易。不过,对于欧美国家也是同样的问题,不少企业的系统管理员已经到了50、60岁的年龄,而青年人才却十分缺乏。
图:大型机管理人才缺失对各个行业企业的冲击,红色端表示冲击不大,蓝色端表示问题很严重(图片来源)
服务器维护是一个非常依赖经验沉淀的工种,不是随便哪个培训机构训练两个月出来的菜鸟就能够轻易胜任的。如果找不到懂行的维护人员,在中国,还真的有一些企业将几百万一台的Sun SPARC服务器放在仓库积灰的……
软件越来越少
因为市场份额变化的关系,现在开发者们大多针对x86服务器架构编写程序,为大型机/小型机系统写程序的开发者越来越少,这对于用户来说是比较尴尬的事情。简单来说,你能想象一个应用都没有的iPhone能干啥么?
缺乏灵活性
对大型机用户而言,不可能在业务不多的时候说“给我来半台大型机用用”,而是需要一次性投入至少一台大型机的钱,并每年投入上百万进行这台大型机的维护。对于x86那种地摊式的使用方法,大型机是难以实现的。
有关这几点原因,大型机厂商和大型机软件厂商们也在设法补救,其中也有很多很灵活的思路。况且由于IT行业的特点,现存的大型机厂商其实也没有多少拼死坚守大型机阵地的打算,所有机型通吃并且现在以提供服务咨询为主业的蓝色巨人就是最好的榜样。抛开对大型机牟取暴利的冲动,了解竞争对手和其他厂商提供的其他方案,多发展合作伙伴,最大程度的满足用户的需求——能够存活至今的,多是这样的厂商。
1、灵活性这点,其实归根结底是价格因素。不过,由于大型机本身对虚拟化的支持非常好(通过其很早以前就有的LPAR逻辑分区特性),有些企业倒是采取过这样一种做法:通过互联网将自己大型机的闲置计算资源租赁给其他用户使用。说起来,Amazon EC2在这方面其实到算是个借鉴者了。
2、软件越来越少这个问题,IBM早在十多年前就着手解决了,那就是基于肥水不留外人田的思路展开的Linux on zSeries计划——在大型机上跑Linux,就可以用Linux平台上的软件,那么缺少开发者的问题也就不成问题啦。Windows on mainframe目前还没有实现,可能难度比较大一点,但相关的工作也正在进行中。当然,这个方案对于正在z/OS等系统上运行业务的用户而言可能没什么帮助。虽然目前看来IBM还没有放弃z/OS系统的打算,但是长远来看,缺乏开发者终究是一个平台致命的硬伤,迁移到Linux上可能是更好的出路。而且对于大型机用户而言,选择Linux还有另外的好处,这点将在下面解释。
3、服务器维护难这个问题也好办,因为人才虽然难找,但终究是有办法的:比如IBM和其软件合作伙伴们提供的培训课程(注:上世纪60年代,由于针对IBM大型机的反垄断政策出台,IBM不得不开放其大型机平台给第三方的软件开发厂商。这一政策促生了大量大型机软件开发商,也为IBM大型机带来了更加丰富的应用。IBM的大型机/小型机管理员培训有其自己的体系,具体是否需要花钱还要看需求和用户的情况。如果使用IBM平台上的第三方工具/软件的话,也可以向软件供应商了解有没有相关的支持);比如IBM和有些软件合作伙伴会提供技术外包的服务,整个外包小团队会长期驻扎在用户所在的企业;比如现在有一些软件/工具可以大大简化大型机维护的难度,如CA Technologies刚刚发布的MSM管理器和Chorus平台,全Web界面操作,足以满足日常的维护需求。MSM这个产品是随CA其他的软件附送的,除了针对DB2等IBM的应用之外,主要是针对CA自己的软件,也支持部分第三方的软件,具体支持哪些可以问CA相关的工程师。
4、价格因素。这个是决定性因素。尤其因为大型机/小型机价格实在不是小钱,任何企业在有其他选择的情况下都会考虑有没有可能换一个便宜的方案。 IBM和软件供应商也会提供一些降低成本的方案,比如CA Technologies的MVP计划和MSRP计划。但是,如果这些计划仍然无法满足对成本降低的需求,那么还有另外一个选择,就是上面说到的大型机上跑Linux的方案。由于软件成本降低以及Linux支持便宜的存储设备等因素的影响,这个方案会比z/OS的方案便宜。由于计算资源使用方式的变化和各种人力需求的变动,综合成本降低的幅度现在没有什么业界统一的计算方式;不过,虽然未必能够便宜到分布式系统那个价位,但也不失为一种选择。
以上,对于企业希望投奔x86的几个原因进行了罗列和分析,下面,再看看企业无法彻底抛弃大型机/小型机的理由。
无法彻底抛弃大型机/小型机的理由
关键业务需要较高的可靠性、可用性和稳定性(RAS)
其实RAS特性算是区分大型机、小型机和微机的一个关键性指标了,简单的说就是大型机>小型机>微机。即使是架构设计的再优良的分布式集群,由于分布式集群的原理是基于单点故障肯定会发生为前提而设计的,也就意味着整个系统所能够达到的RAS特性是有上限的,毕竟在理论上,任何一次单点故障都有可能导致服务的中断;而在现实中,分布式系统大规模宕机的新闻,我们也听说过很多次了,似乎没有哪个运行了几年的云计算服务商有完全干净的记录。对于新闻门户网站,有个0.1%的宕机时间也问题不太大,只会影响广告收入;对于电子商务网站而言,0.1%的failure则是无法接受的,尤其是在用户进行交易的关键性操作过程中,会对RAS特性有极高的要求。对于金融/保险、医药、航空/国防这种业务而言,分布式集群这种基于容错能力所提供的RAS 特性,还不能满足他们的需求。
从RAS这个方面来看,对服务器的挑选,倒还真是一分钱,一分货。
安全性
虽然说没有系统具备绝对的安全性,但是大型机一般都默认提供了底层模块级别的加密安全保障,而x86上的系统却并不具备这种天然的安全性,需要通过系统设置和应用配置来实现,这就需要具备极高素质的安全运维来压阵。分布式系统遭遇安全问题的事件时有听闻,而对于大型机系统而言却很少发生这样的事情。
优秀的可扩展性
跟安全性一样,大型机自身提供的LPAR虚拟化机制使得系统扩展非常方便。尤其对于中国这种业务量增长巨大的市场而言,优秀的可扩展性显得十分必要。不过自从VMware、Hyper-V、Xen、KVM等一系列针对x86的虚拟化技术成熟之后,这已经不是大型机专有的优势了。
遗留系统的迁移难度
这是一个共通的问题了。即使对很多年轻的互联网企业,系统迁移都已经成了老大的难题,更不用说有几十年历史的老牌企业。但是迁移这种事儿吧,是属于不得不克服的阻力。任何有长远计划的企业如果有迁移的需求,那么一旦下定决心,技术难题总是能够克服的,只是看有没有找到合适的服务提供方和执行者。
那么,既有成本、人员等需要考虑的因素,但x86目前还有很多无法媲美大型机/小型机的地方,对于企业来说,应该怎样选择才能令自己IT资源的价值最大化?