最近接触企业RISC系统迁移的案例多了些,难免也有些感触。窃以为国内RISC系统迁移到X86,最成功最彻底的案例莫过于淘宝的商品库去O项目,我也从淘宝对这个项目的介绍中获益良多。结合自己亲身参与的别的几个案例,总结了三点自认为迁移成功的关键,和X86比之RISC系统的一些优劣,在此分享一下,仅供大家一乐。在这里首先要补充一点,以下三点主要针对的是那些传统大型企业用户的RISC迁移,有些并不适合那些互联网行业的去IOE。
三大要诀
要诀1:撞破南墙不回头
在现今的技术条件下,可以说没有一个系统是不能够从原先的RISC架构迁移到X86架构。关键就是看决策层领导层想不想这么干。RISC系统肯定是有它优势在的,特别是对于一个已经用了RISC10几20年甚至更长时间的企业,要想没有风险,换成X86之后一切性能功能只好不坏是不现实也是不可能的。有得必有失,一旦你实在不能忍受RISC系统的高昂维护升级费用,封闭系统的各种局限,那你就要改头换面!但一旦你决定改头换面了那么势必原先的一些你习惯了的地方也要完全被放弃掉,所以肯定是有很长的一段阵痛期!想先通过一些小规模尝试规避掉所有风险是不可能的。就像企业刚上RISC系统时也一样,会有各类问题出现。但那时你没有选择,所以只能排除万难迎头而上。现在其实也一样,作为CIO,你要做好准备,一旦你决定了做RISC迁移了就是一条不归路,你必须狠下决心就一条路走到黑,碰到问题也只以保证X86系统能按时上线为大前提!不然结果就是旧的没迁移成,新的也上不了线,两头犹豫多花冤枉钱。相关业务部门的阻力肯定是有的,切割时候问题肯定会出现的。真的有决心就不是去畏畏缩缩的规避这些,而是下死命令告诉所有业务部门你只能用新的了,有问题有抱怨我们一起想办法在新系统上解决,短期有影响我们一起承担风险责任。如果你没有这个决心,就干脆别去做迁移。拿些周边小系统试试之类隔靴搔痒的行为其实没有任何意义,因为在核心系统没改变的情况下,边缘系统的异构对于你来说只是增加很多无谓的各种兼容性问题故障排除的人工。所以,RISC向X86迁移这种事,一旦要干就要狠下死手只有华山一条路那么的去干!别说碰到困难,即使撞到了南墙也要把南墙撞破再往前走,不然就是半吊子扯淡,不如不干!
要诀2:痛下杀手改架构
对于一个使用RISC架构作为IT主要架构的企业来说,后台前台数据结构势必是以RISC架构为核心的。如果要转,那么这种体系架构肯定要改。比如数据模型,存储文件系统。。。举几个例子:淘宝其商品库核心数据库系统去O过程中,很关键一个里程碑就是把切分库的方式从卖家ID变成商品ID,从而根本解决了从RISC到分布的X86系统时IO分布不均的问题。要是不作这一改变,估计那次去O尝试也不会有好的结果。就好像你玩摄影,当你把机身换成尼康了之后你势必要把所有佳能的镜头出掉换成尼康的。不然即使有各种转接环之类的但自动镜头就变手动镜头了,成像光圈也完全不是那么回事了。同样的你拍摄参数设置也要改变,佳能系相机拍摄一般都要欠曝来保证亮部细节。但这套用在尼康系上面的结果就是暗部噪点加多,所以尼康系机器就是要过曝一点来拍摄。这个没有谁好谁坏的问题,两套体系两种思路罢了。你决定了换体系就要以新体系的套路重新评估业务,设计架构,千万不能想着偷懒把老的一套以某种方式过渡或者变通过去,那样的结果肯定是失败的。我曾经有一个一直关系的大型企业客户,他们的老总其实一直都想着把原先的RISC架构替换掉,但一直没有开始大动作。原因就是他们一直想在X86系统中找“把若干台机器放在一起当一台机器用”的方案,而事实就是这种方案几乎没有,即使有也不可能比RISC好。当他们问起我这个问题,我的回答是,如果你要等的是这个方案,那你就别做迁移了,因为X86系统就不是按这个思路设计的。X86系统就是要把一件事情拆开在多台机器上跑;或者让一堆机器聚在一起智能自动的处理一大堆乱七八糟的不同任务。再举个更普遍的现象,很多人在讨论这个问题时候第一个提出的肯定是稳定性标准达到几个9,其实这个问题在X86的系统架构上也是不现实的。RISC的设计理念是为了 0.1% 的极端情况投入整个成本的60%甚至更多;而X86系统架构的设计理念就是要把100%的成本花在99%会出现的业务场景上,而先不去考虑那些极端场景。所以要求X86硬件系统达到RISC这样的不当机水准是不现实的,设计理念就不一样。你从RISC迁移到X86,就是要做好准备硬件的稳定标准会从3个9 下降2个9,但因为有软件上层架构的保证,你的应用其实也不会中断。所以要从RISC迁移,你就要把这套旧观念抛开!重新把你的业务设计在这类架构上面,而不是试图将X86通过某种方式“凑”成相当于原有的RISC系统。这种重新设计好处肯定是有的,毫无疑问随着企业信息数据量的越来越多样化和复杂,开放的X86架构可以给你带来更大的业务伸缩性和自由度。但这样子的变革完全需要投入的人力物力也是相当大的,短期看是绝对不会省钱的。干不干的完全取决于企业的战略和CIO们的胆识。
要诀3:看准方向多投入
在这里我又想说一个可能会被很多人喷的观点:一切只为了省钱而进行的RISC迁移项目最终都会以失败告终!首先,先来看看硬件投入:别以为RISC系统真的那么贵,没有一个客户买IBM的P系列机器不是打狠折的。而且相对于X86系统,在现有业务环境下,完成同样事情需要的P系列机器数量肯定要远少于X86服务器数量。所以光算硬件,X86是要比P系列机器便宜些,但其实也没便宜多少,绝对不到数量级上的差异。再说软件投入,X86要投入的更多。先说虚拟化,PowerVM是免费而VMWare的收费我就不提了。即使硬件成本上节省了不少但别忘了你还要把应用从PowerVM为基础的AIX迁移到 VMWare为基础的Linux上, 这方面你要花的人力投入何止RISC系统上的几倍。别的应用更是,前面就说了从RISC到X86完全是体系架构上的从头再来,所以即使你用的软件硬件是省钱了,但这种体系架构上的重起炉灶势必使你要投入更多的人力物力去研发新体系完善新架构,并且这不是一段时间内的行为。为了使X86系统完全融入业务环境,注定了他们必须是一支能够长期在第一线优化调整架构的高投入技术团队。要养这么一支团队,企业要付出的各方面待遇薪水福利基本不会少于购买成熟 RISC架构软件及其每年相应的服务升级费用,甚至会更多。现在还有不少企业喊出了企业开源的口号,那样需要的软件开发维护投入成本势必更大。当然,事先的方向确定也是相当重要的。正如之前所说,RISC到X86,其实就是另起炉灶重练一套武功,那一开始肯定不会尽善尽美的。先关注啥什么优先级更高一些,这些战略问题就一定要事先想好。在一定的预算内,系统的功能和性能如何平衡是很关键的一点。RISC系统功能完善,可能某些地方性能略差;X86系统某些方面性能领先,但可能一些功能模块诸如冗余容错略逊。所以如果想要通过X86去改头换面,不妨可以考虑一开始先在某些关键应用的性能方面追求提升,然后系统建设好后再逐步完善其它功能。当然也可以先尽量完善功能模块,再逐步选择提升性能。总之一开始就要根据实际明确好自己的道路和方向,然后沿着这个方向,大胆投入,不然走了一半才意识到这些就悔之晚矣了。所以,决定了迁移就一定要先定好企业架构体系的方向,然后准备好足够的人力物力的投入资源储备。不然就会是半途而废浪费资源的结局。
好了,前面说了RISC迁移基本就是一条没有回头路,完全抛弃旧框架,需要大投入的一件事情。那么为什么要做呢,当然是有好处了。
好处1:获取更大的业务自由度。
不用再多描述我们现今时代信息爆炸是如何的迅猛了,未来信息化的发展,可能需要的不是一个可以稳定运行20年的系统,而是一堆短时间内可以支撑海量用户或者某种高峰应用的小系统。而一段时间过后,这些小系统是否存在人们基本不再关心。所以旧有 RISC系统的局限在这种业务趋势下就会变得捉襟见肘。相反更灵活,伸缩性更大的X86体系架构就变得更适合企业业务的发展需求。还是以摄影举例:单反的画质是好,但现在人们的需求是旅途中随时随地拿出来就能拍,无论是在天上,地下,大太阳下,雪地里,房间里,浴室里。。。。。。,无论画质好坏至少能够把任何东西都拍下来,无论是风景,路人,动物,还是自己拍自己。。。拍完之后第一用途不是修饰之后大幅打印输出,而是即时上传微博和朋友分享。。。。。。于是在新的需求下,手机,屏幕可以翻转,可以上网的各类DC,微单就开始变得被更多人接受,单反的笨重,镜头设定的不灵活等等劣势就开始被越来越多的人诟病。即使它现在的售价已经接近微单等器材,市场依然没有增长甚至逐渐在萎缩。
好处2:增强自身的话语权。 谁不得不承认,现在X86系统的周边产业链也就是所谓的Eco-System要比RISC系统完善强大太多了。作为一个CIO,如果所有系统都绑在 RISC上,那么日后势必只能越来越多的依靠IBM,Oracle这几家寡头。系统发展,升级,所有的命脉其实都捏在他们手上。别说讨价还价了,想单独要些定制的东西都会越来越难。而X86系统就不说了,硬件就不说了,软件方案也是精彩纷呈选择多样且兼容性移植方案都齐备。想自己开发点啥开源社区或者开源定制服务公司也都在那里等着你。你大可以放手选择,招投标时生杀大权完全掌握在你自己手里。就好像你去饭店吃饭。在花同样的钱的情况下,让你选择一个月去同一家饭店,那你肯定会选择去一菜单五花八门丰富多样可以换着吃由你点的自助餐厅,而不是一家只有龙虾这一道菜的高档西餐厅。
天下事其实都是这样,有舍才有得。你抛弃了旧有的稳定可靠的框架,横下一条心,投入大量的人力物力走上了一条新的道路,练一套全新的武功招数,获得了更大的业务自由和伸缩空间,同时也使自身和厂商博弈时占据了更有利的位置。这个就是我认为的RISC向X86迁移的付出和回报。值不值得该不该走这条路,就是各位老总该考虑该想的事情了。不走其实也无所谓,毕竟也不是每个企业都需要跟着新环境新形势也蓬勃发展新业务的。但一旦要走这条路就要彻底的走,走一半或者走走停停都是浪费人力财力的无谓之举。