写点什么

没有回头路的 RISC 系统迁移之三要诀

  • 2012-07-22
  • 本文字数:4250 字

    阅读完需:约 14 分钟

时下,随着水平扩展(Scale out)的技术、实践和相关软件不断成熟,很多以前使用小型计算机的业务系统应用,出于成本考虑,准备向 PC 级或机架式服务器迁移,也就是要从 CPU 指令集采用 RISC 结构的系统,迁移到使用 x86 结构的系统。在 Intel 工作的“非仙居”,给出了此种迁移的三要诀:撞破南墙不回头,痛下杀手改架构,看准方向多投入。他的这篇博文,在微博上也引发了讨论。

非仙居看来:

国内迁移最成功最彻底的案例莫过于淘宝的商品库去 O 项目。结合自己亲身参与的别的几个案例,总结了三点自认为迁移成功的关键,和 X86 比之 RISC 系统的一些优劣,在此分享。

要诀 1:撞破南墙不回头!

非仙居认为:

在现今的技术条件下,可以说没有一个系统是不能够从原先的 RISC 架构迁移到 X86 架构。关键就是看决策层领导层想不想这么干。

……

有得必有失,一旦你实在不能忍受 RISC 系统的高昂维护升级费用,封闭系统的各种局限,那你就要改头换面!但一旦你决定改头换面了那么势必原先的一 些你习惯了的地方也要完全被放弃掉,所以肯定是有很长的一段阵痛期!想先通过一些小规模尝试规避掉所有风险是不可能的。就像企业刚上 RISC 系统时也一 样,会有各类问题出现。但那时你没有选择,所以只能排除万难迎头而上。现在其实也一样,作为 CIO,你要做好准备,一旦你决定了做 RISC 迁移了就是一条 不归路,你必须狠下决心就一条路走到黑,碰到问题也只以保证 X86 系统能按时上线为大前提!

遇到问题时,非仙居的建议是:

切割时候问题肯定会出现的。真的有决心就不是去畏畏缩缩的规避这些,而是下死命令告诉所有业务部门你只能用新的了,有问题有抱怨我们一起想办法在新系统上解决,短期有影响我们一起承担风险责任。

他认为拿周边小系统尝试没有意义:

因为在核心系统没改变的情况下,边缘系统的异构对于你来说只是增加很多无谓的各种兼容性问题故障排除的人工。

因此,一定要下定决心:

RISC 向 X86 迁移这种事,一旦要干就要狠下死手只有华山一条路那么的去干!别说碰到困难,即使撞到了南墙也要把南墙撞破再往前走。

要诀 2:痛下杀手改架构!

非仙居看来,RISC 架构系统迁移时,体系架构的调整不可避免:

对于一个使用 RISC 架构作为 IT 主要架构的企业来说,后台前台数据结构势必是以 RISC 架构为核心的。如果要转,那么这种体系架构肯定要改。比如数据模型,存储文件系统……

接下来他举出了淘宝的例子:

淘宝商品库核心数据库系统去 O 过程中,很关键一个里程碑就是把切分库的方式从卖家 ID 变成商品 ID,从而根本解决了从 RISC 到分布的 X86 系统时 IO 分布不均的问题。要是不作这一改变,估计那次去 O 尝试也不会有好的结果。

他认为其实这两种方法没有绝对的好坏:

这个没有谁好谁坏的问题,两套体系两种思路罢了。你决定了换体系就要以新体系的套路重新评估业务,设计架构,千万不能想着偷懒把老的一套以某种方式过渡或者变通过去,那样的结果肯定是失败的。

他又举出一个案例:某家企业

一直想在 X86 系统中找“把若干台机器放在一起当一台机器用”的方案,而事实就是这种方案几乎没有,即使有也不可能比 RISC 好。

非仙居认为这不可能:

因为 X86 系统就不是按这个思路设计的。X86 系统就是要把一件事情拆开在多台机器上跑;或者让一堆机器聚在一起,智能自动地处理一大堆乱七八糟的不同任务。

他指出:很多人讨论的稳定性标准达到几个 9 这个问题也不现实。其原因在于:

RISC 的设计理念是为了 0.1% 的极端情况投入整个成本的 60% 甚至更多;而 X86 系统架构的设计理念就是要把 100% 的成本花在 99% 会出现的业务场景上,而先不去考虑那些极端场景。 所以要求 X86 硬件系统达到 RISC 这样的不当机水准是不现实的,设计理念就不一样。你从 RISC 迁移到 X86,就是要做好准备硬件的稳定标准会从 3 个 9 下降 2 个 9,但因为有软件上层架构的保证,你的应用其实也不会中断。所以要从 RISC 迁移,你就要把这套旧观念抛开!

关于架构重新设计的好处,非仙居认为:

随着企业信息数据量的越来越多样化和复杂,开放的 X86 架构可以给你带来更大的业务伸缩性和自由度。但这样子的变革完全需要投入的人力物力也是相当大的,短期看是绝对不会省钱的。干不干得完,全取决于企业的战略和 CIO 们的胆识。

要诀 3:看准方向多投入!

非仙居提出一个很具争议性的观点:

一切只为了省钱而进行的 RISC 迁移项目最终都会以失败告终!

他从硬件、软件和人力三方面分析了成本。

硬件方面:

别以为 RISC 系统真的那么贵,没有一个客户买 IBM 的 P 系列机器不是打狠折的。而且相对于 X86 系统,在现有业务环境下,完成同样事情需要的 P 系 列机器数量肯定要远少于 X86 服务器数量。所以光算硬件,X86 是要比 P 系列机器便宜些,但其实也没便宜多少,绝对不到数量级上的差异。

软件上:

先说虚拟化,PowerVM 是免费而 VMWare 的收费我就不提了。即使硬件成本上节省了不少但别忘了你还要把应用从 PowerVM 为基础的 AIX 迁移到 VMWare 为基础的 Linux 上。

而这又涉及到人力的投入:

这方面你要花的人力投入何止 RISC 系统上的几倍。别的应用更是。

……

从 RISC 到 X86 完全是体系架构上的从头再来,所以即使你用的软件硬件是省钱了,但这种体系架构上的重起炉灶势必使你要投入更多的人力物力去研发新体系完善新架构,并且这不是一段时间内的行为。

为了使 X86 系统完全融入业务环境,注定了他们必须是一支能够长期在第一线优化调整架构的高投入技术团队。要养这么一支团队,企业要付出的各方面待遇薪水福利基本不会少于购买成熟 RISC 架构软件及其每年相应的服务升级费用,甚至会更多。

在大方向上,非仙居认为一定要把优先级这样的战略问题想好,而且

在一定的预算内,系统的功能和性能如何平衡是很关键的一点。

RISC 系统功能完善,可能某些地方性能略差;X86 系统某些方面性能领先,但可能一些功能模块诸如冗余容错略逊。所以如果想要通过 X86 去改头换 面,不妨可以考虑一开始先在某些关键应用的性能方面追求提升,然后系统建设好后再逐步完善其它功能。当然也可以先尽量完善功能模块,再逐步选择提升性能。

总之一开始就要根据实际明确好自己的道路和方向,然后沿着这个方向,大胆投入,不然走了一半才意识到这些就悔之晚矣了。

RISC 迁移的两点好处

非仙居总结了 RISC 迁移的两点好处:

好处 1:获取更大的业务自由度。

未来信息化的发展,可能需要的不是一个可以稳定运行 20 年的系统,而是一堆短时间内可以支撑海量用户或者某种高峰应用的小系统。而一段时间过后,这 些小系统是否存在人们基本不再关心。所以旧有 RISC 系统的局限在这种业务趋势下就会变得捉襟见肘。相反更灵活,伸缩性更大的 X86 体系架构就变得更适合 企业业务的发展需求。

好处 2:增强自身的话语权。

现在 X86 系统的周边产业链也就是所谓的 Eco-System 要比 RISC 系统完善强大太多了。作为一个 CIO,如果所有系统都绑在 RISC 上,那 么日后势必只能越来越多的依靠 IBM,Oracle 这几家寡头。系统发展,升级,所有的命脉其实都捏在他们手上。别说讨价还价了,想单独要些定制的东西都 会越来越难。

而 X86 系统就不说了,硬件就不说了,软件方案也是精彩纷呈选择多样且兼容性移植方案都齐备。想自己开发点啥开源社区或者开源定制服务公司也都在那里等着你。你大可以放手选择,招投标时生杀大权完全掌握在你自己手里。

文章最后,非仙居总结:

天下事其实都是这样,有舍才有得。你抛弃了旧有的稳定可靠的框架,横下一条心,投入大量的人力物力走上了一条新的道路,练一套全新的武功招数,获得 了更大的业务自由和伸缩空间,同时也使自身和厂商博弈时占据了更有利的位置。这个就是我认为的 RISC 向 X86 迁移的付出和回报。

……

一旦要走这条路就要彻底的走,走一半或者走走停停都是浪费人力财力的无谓之举。

微博热议

他的这篇博文引发微博上的讨论。

jametong 提出了自己的观点:

  1. Risc 系统与数据模型的关系不是必须调整的。
  2. 不是每个公司都可以承受去 Risc 系统带来的阵痛的(不要搞出下一个 Digg 的改造出来)。
  3. 不是每个公司都可以投入那么大量的人力物力来做改造,改造的效果也未必是省钱。
  4. 做这件事情的目标不明确。

脚趾 008 对其的评论是:

严重同意第一点,用 x86 也能用 O。从 risc 转 x86 还有一种场景可能 @非仙居没提,大型的 SI/ISV,为了降低方案整体成本,避免受制于 I,同时他们技术雄厚,能承受两种架构并存。这类公司,以通信行业为代表,按规模来建议平台,但其仍为传统架构。

淘宝网高级数据库专家宁海元的微博帐号是 NinGoo ,他指出:

以现在 pc+ssd 的性能,从小型机迁移出来没那么大的风险和人力投入了,只是需要在数据库和应用层面做好容灾和高可用方案。至于去不去 O 在这里不 是关键点。小型机这种昂贵的封闭系统,其实风险很高,一旦宕机十几个小时修不好常有的事,而 pc 的价格完全可以多买几台直接替换。

高峡之数据时代说:

  1. 最重要的驱动力就是降低成本,这不可耻。当年 GOOGLE 没有钱,买了很多 PC SERVER 集群,来提高高可用性,结果催生了云计算;
  2. 以降低成本为中心,才能折中架构重构,高可用性和性能;
  3. GOOGLE 每年的数据中心成本从 64 亿美金,降到 15 亿美金,从而打造出极佳的盈利模式;
  4. 降低成本本身就是商业模式的一部分

南七的木木指出:

x86 化的所有优势恰恰与 x86 硬件无关,而是分布式软件架构带来的对业务扩展性灵活性的支撑。

脚趾 008 对这个观点不是很赞同:

当前的 X86 在稳定性方面和 risc 的差距已经不象早年那么大了,更别说采用了小机架构来设计的 x86 服务器,性能方面更是几乎相当。

在评论中, 非仙居老卢在路上从硬件的可靠性问题开始,讨论到了大型企业的考核与绩效:

老卢在路上:第一次听说 RISC 是三个 9 设计的,X86 是两个 9。有什么具体的例子来佐证这个嘛?

非仙居:只是打个比方罢了。就是想说明不论从硬件还是软件,X86 的系统对于 RAS,归档,快照等等需求处理的思路确实和传统 RISC 不一样,没有可比性。

老卢:replication 这些都是软件特性,不知道和 CPU 的关系具体体现在什么地方?

非仙居:和 cpu 无关的。但很多企业考核指标就是硬件的不死机,这个是 RISC 时代的标志,不适合拿来衡量 x86 的硬件可靠性。x86 系统看单机是没有意义的。所以我说你光看硬件的话,会可能从3个9变成2个9,但整体系统依然是高可用的。

老卢:所以还是软件和系统的可靠性要求不一样,和是否是 RISC 或者是 X86 没啥关系…

非仙居:是的,但问题是现在大多数大型企业考核系统稳定性的标志还是 RISC 的思路,对 X86 没有意义。但这个指标却和部门绩效工资息息相关。这个不转变,领导的思路就不可能改变。

2012-07-22 21:152501
用户头像

发布了 479 篇内容, 共 159.3 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第5周作业

aoeiuvzcs

架构师训练营第5周总结

aoeiuvzcs

[架构师训练营] Week02 - 学习总结

谭方敏

你真的在做持续集成吗?

冯文辉

DevOps 持续集成 CI/CD

Spring Boot 最流行的 16 条实践解读,值得收藏!

Java小咖秀

spring 学习 Spring Boot SpringBoot 2 经验分享

功利学习法:我为什么要这么功利?

非著名程序员

学习 程序员 程序人生 提升认知

架构师训练营总结 -5

River Tree

极客大学架构师训练营 个人总结

深入理解CAS:以AtomicInteger为例

itlemon

Atomic CAS AtomicInteger 自旋

week5 coding

GAC·DU

week5 总结

GAC·DU

一篇文章深入理解JDK7 HashMap

itlemon

hashmap map 源码解析 哈希冲突

推荐 10个 NB的 IDEA 插件,开发效率至少提升一倍

程序员小富

Java 效率 IDEA

Atlassian Team Playbook | OKR 好的不只是逼格

Atlassian

开发

猿灯塔:spring Boot Starter开发及源码刨析(一)

猿灯塔

Java 源码剖析

第五周学习总结

[架构师训练营] Week02 - 作业

谭方敏

再谈任务分解

松花皮蛋me

Java 精益开发

可读代码编写炸鸡四(下篇) - 提炼注释的下一步是提炼注释

多选参数

代码质量 代码 代码组织 代码规范

如何写一份合格的技术简历?

通天哪吒

面试

直接赋值,深拷贝和浅拷贝

Leetao

Python Python基础知识

创业使人成长系列 (1)- 从失败中学习

石云升

创业 个人成长 成长

想怎么玩,就怎么玩!搭载桌面级十代酷睿的神舟超级战神真香!

最新动态

第五周作业

小姐姐面试蚂蚁金服被虐经历,哪吒心疼.

通天哪吒

面试

一篇文章深入理解JDK8 HashMap

itlemon

源码 hashmap 线程安全

架构师训练营 0 期第五周

Blink

小师妹学JVM之:Dirty cards和PLAB

程序那些事

Java JVM 小师妹 性能调优 签约计划第二季

Homework-我的一致性Hash算法

River Tree

Homework

编程能力 —— TicTacToe(井字棋)

wendraw

Java 大前端 编程能力

一致性Hash算法

莫莫大人

极客大学架构师训练营

我终于弄懂了Python的装饰器(一)

BigYoung

Python 装饰器

没有回头路的RISC系统迁移之三要诀_DevOps & 平台工程_郑柯_InfoQ精选文章