为什么中国银行业还干不掉IOE?
最近,俄罗斯受到了以美国为首的西方国家的疯狂制裁,在科技领域,以谷歌、苹果、微软、英特尔、Facebook、亚马逊、戴尔、Oracle 为首的 20 多家科技巨头相继对俄罗斯出手。
作为 IT 从业人员,我们肯定会想到,如果制裁落到中国头上会怎么样?笼统地分析可能意义不大,今天这篇文章,具体分析银行对美国科技的依赖。
01
再科普下什么是 IOE
这是三家 IT 巨头的名字,I=IBM,O=Oracle,E=EMC。
他们都有一个比较好听的中文名字,分别叫做:十八摸,甲骨文,恶魔城。他们的产品的作用,可以看下面这个表格:
①传统 IOE 架构(一般在各种传统公司使用,银行电信中小企业)
集中式架构+闭源商用系统。也就是说,程序 99% 都是运行在 1-2 台服务器上(第二台服务器是为了当第一台挂掉的时候赶紧顶上)。
而且 IOE 提供了应用程序以外的所有的”基础软件“,包括操作系统,中间件,数据库等。
这些”基础软件“的源代码一般都是不公开的。当然,应用程序还是要银行的人自己来开发,最威武雄壮的工行,开发队伍有几千人。
②去 IOE 架构(一般在各种互联网公司使用)
分布式架构+开源系统。也就是说,程序同时运行在几十几百几千几万台服务器上,而且上面这些”基础软件“都是用公开源代码的软件修改而成的。
这要分三层来看:
①不同的银行
工农中建交五大行,招行中信浦发民生兴业光大等,这个大家都知道,不详细说了。
②不同的业务系统
每个银行里面都有很多的系统(总行级别的数量在一百多到大几百个不等)。最核心的部分一般叫做 core banking 系统,记录最核心的账户信息。
另外还有处理各种银行业务的系统,比如信用卡系统,网上银行,ATM 系统,中间业务系统,反洗钱系统,密押机管理系统,ODS,党支部活动小金库统计系统等等。
③不同的 IBM 产品
硬件:IBM 全线产品在银行都有广泛的使用:z 系列(大型机),i 系列(小型机),p 系列(小型机),x 系列(x86 PC 服务器,已经被联想收购了,后文不少地方用 x 系列来泛指 x86 服务器)
软件:数据库 DB2/Informix/VSAM,中间件 CICS,MQ,WAS 等,操作系统 AIX/OS400/VSE/OS390 等,(什么 Tivoli,Lotus 的不是关键产品我就不列了)。
附上一个用汽车来大致解释 IBM 服务器地位的对照表:
看看下面这个列表(凭印象,可能有部分过时,不过应该偏差不会太大):
工农中建交:core banking 系统用的是 z 系列,招行信用卡用的也是 z 系列。
招行中信:core banking 系统用的是 i 系列。
民生兴业:core banking 系统用的是 p 系列。
浦发光大:core banking 系统用的是惠普 HP 的服务器(和 IBM 无关)
为了不把问题蔓延化,本文只讨论银行的 core banking 系统。此外的几百个业务系统都用着不同的服务器,70% 以上都是 IBM 的 p 系列,x 系列,刀片服务器等。剩下的也大多都是各种美国货,HP,DELL 等等。
03
阿里成功了,银行还干不掉 IOE?
其实如果现在新开一家银行,BAT 高手去弄,可以去 IOE,但需要投入巨量的人力物力,代价不见得比当年用 IOE 要小。
老银行都在摸索如何去 IOE,但并没有很迫切的需求,只是作为减少成本和新技术的探索。而且技术上来说,在 10 年内核心系统不可能完全去 IOE。
互联网和银行业在 IT 建设上的最大区别是:不是技术能力,不是人才数量和质量,而是开始建设的时间点和需求不同。
上世纪银行开始建设 IT 的时候:有钱,有准确的业务需求,而且业务变化比较慢,要求风险低,业界没开源产品(当时没有 Google,没有 Hadoop,甚至连 IBM 自己都没有 Unix 服务器(后来的 p 系列))。
银行唯一的选择,就是大型机,而且当年的富士通/日立/天腾等等都不如 IBM 好,这也是为什么五大行总行用的都是 IBM 大型机。
本世纪互联网企业开始建设 IT 的时候,时代变了,需求完全是反过来的:没钱,没准确的业务需求,业务变化超级快,风险无所谓(相对)。
IBM 以及各种传统 IT 大象的各种产品,死贵,开发过程慢(做过 COBOL 或者 RPG 语言开发的就知道)。
有疑难杂症要找到 IBM 实验室的话,沟通特别麻烦和效率低,根本没法适应这种需求。所以互联网企业才被迫另外搞了一套分布式的 IT 架构出来。
当银行用了 IOE 的体系三十年之后,要去 IOE 面临以下几个问题:
①银行业最关键就是稳定和规避风险,进行这么大的调整,一定会出问题,出了大问题谁愿意背责任?
很多时候买业界最好公司的产品的其中一个很大的作用就是规避责任,都用到业界广泛使用的最好的产品了还出问题,那没啥好说的。如果想开个先河用点新玩意出了问题,各路神仙借机下绊子,可是大麻烦呢。
②软硬件采购背后各种利益关系,这可是一盘每年几百亿人民币的生意,谁肯拱手让出利益?
③人才不够强,没个十年八年泡在银行里面,对银行的业务不可能有足够深的了解。泡了在银行十年八年的人,对非 IOE 的技术又没有足够深的了解。
就算真有这样的二合一人才,年薪起码得有个 200 万吧,不然干嘛去银行,直接去 BAT 不更好吗?
但银行里面能对技术人员开出 200 万薪酬的,有哪家?而且这样的人要的不是十个八个,是一堆。
而且现有的技术人员的技术是基于传统架构,如果招了大量的新人,老的这批怎么办?
④对不起,现在国货还不够强,暂时顶不上 IOE。如果不弄成互联网的分布式架构,都换成国货还继续沿用集中式架构行不?对不起,国货不够强,暂时顶不上。
国家安全当然重要,但这是虚的。真去IOE的话,面对的问题是实实在在的。我们换体位思考,你是银行领导,你敢不敢大力推动去 IOE?
刘若英的歌曲已经给了答案:想要问问你敢不敢,像我这样为爱痴狂,想要问问你敢不敢,像你说过那样的爱我,像我这样为 I 痴狂,到底你会怎么想。
04
去掉 IOE,哪家能顶上?
所有笼统地说能不能顶上都是耍流氓,我一个一个说才是怜香惜玉:
IBM 大型机(z 系列):现在顶不上,以后也不可能顶的上。
IBM 小型机(i/p 系列):现在顶不上,以后也不可能顶的上。
IBM PC服务器(x 系列):能顶上。
EMC/IBM 存储:普通用途能顶上。
Oracle/IBM 中间件数据库:顶不上(包括 GBase 达梦 KingbaseES 东方通等等,门都没摸着),以后不好说。
很多人自诩中国人好聪明,为啥老美能弄出来的东西我们弄不出来?有人说什么技术基因,什么体制问题,这都不是最关键。最关键还是之前提到的:时代不一样了,起点不一样了。
大型机是 IBM 在 60 年代花了几十亿美金(注意是当年的几十亿)豪赌一把研发出来的产品,当年客户的需求也简单。
IBM 利用那么多年销售大型机的利润,把这只金鸡慢慢调教育成,同时也根据客户的业务需求把技术提升到更高的标准。
如果现在要研发出满足现在的商业需求的大型机,哪怕山寨,可能最少要投十亿人民币,才勉强能做出来,但在成功之前,基本上是没利润的。
哪家企业能有这个能力去赌这一把?政府和各种研究院在这种商业产品的研发效率比企业更低,更难成功。
业界最稳定的单/双机系统:IBM 的 z 系列,和 i 系列,在 IT 业界是根本没有可替代的同类产品。
在中国没有,在美国,也没有。地位类似肯德基的老北京鸡肉卷,除非你不吃,除非你换成麦当劳的麦辣鸡腿堡,不然你是买不到同类可替代产品的。
国内银行里面,搞异地切换最牛的是招商银行,能在几分钟内把总行核心业务真从深圳切换去上海,这个很了不起,连五大行总行都不做这种带真实业务的核心切换测试。
招行用的就是i系列,号称世界上最稳定的单机系统,系统里面默认自带数据库(DB2),自带中间件,自带通讯包,自带邮件支持(在 25 年前这是很神奇的设计)。
号称从来没有被黑客入侵过,从来没有病毒,TIMI 的设计让现代黑客界各种猥琐流招数基本都不适用。
IBM 的工程师当年跟我说过一个八卦:他们有一个值班的手机,半夜碰到客户有什么紧急问题,会通过 800 服务热线确定够紧急之后转到值班手机半夜把工程师叫醒解决问题。
拿这个值班手机是有补贴的(因为可能午夜凶铃嘛),资深点的工程师大约拿一周就一两千块吧,p 系列的工程师都不愿意拿这个手机,因为老会响。
但 i 系列的工程师很喜欢拿值班手机,因为很少响,这钱几乎就是白赚的了。这也 反面证明 i系列是多么的稳定。
p 系列服务器的研发成本相对低(所以之前 HP,SUN 等都有类似的竞争产品),给国内厂商 5-10 年,有机会能研发出来。
可是,目前的技术发展趋势是全部用 x 系列取代 p 系列,不会有厂商这么傻去研究一个即将过时的产品。
以后业界发展的趋势就是:新上的系统,能用 x 系列技术的绝大部分都会变成新的架构;老系统,需要扩容的话,还会买老的系统,因为没得选(八卦一句:前几天某中央金融机构才又买了 IBM 大型机)。
直到能完成迁移的一天,可是目前来说,没见到有任何银行核心系统切换到 x 系列平台上的希望,一直时刻准备着的话,10 年后可能有希望。国家安全很重要。
05
总结
综上所述:在 x 系列和通用存储这两个领域,国货能顶上,别的领域就等机器老死吧。
时间能冲淡一切,毕竟传统技术又不是会发灰的黑化肥,哪那么容易就挥发呢?