财新封面报道:以阿里云去IOE
本文来源于《新世纪》周刊 2014年第23期 出版日期:2014-06-16
巨大数据库倒逼阿里巴巴去IOE,并以阿里云顺势抢占IOE的老地盘。
在上市故事中,阿里巴巴集团一再强调的核心业务之一是“云”和大数据,业务战略是“云+端”。这个基于“云”的宏大叙事,始于六年前的内部技术革命,善造概念的阿里,称之为“去IOE”——这已经成为一个新的短语。
2008年,王坚从微软亚洲技术研究院空降阿里,担任首席架构师。这个在阿里内部尊称为“博士”的首席架构师并非程序员出身,是一个不会写代码的架构师,却甫一到任就提出了让阿里一众“技术男”震惊的“去IOE”,即在阿里的IT建设过程中,去除IBM小型机、Oracle数据库及EMC存储设备。
去IOE的替代方案浮出水面:以廉价的PC服务器替代小型机,以基于开源的自研数据库替代Oracle数据库,不用高端存储设备则成为了阿里云的雏形。
基于开源协议和软件构建IT基础架构,这在国外互联网公司里并不鲜见,包括亚马逊、谷歌和Facebook都采用这一路线。但是,阿里当时IT基础架构基于最普遍使用的IOE,技术人员多为学IOE架构出身,其中很多人本就是IOE跳槽而来的人员。
王坚的技术路线,首先就是要拿下这些来自IOE的技术大牛。他的幸运是碰上马云这样一个不懂技术的老板。马云力挺王坚,逼着技术人员从头学起,给预算,招兵买马,整合团队。
王坚和团队花了五年时间,终于在2013年5月从支付宝下线了最后一台IBM的小型机,7月把Oracle的数据库“赶出”了淘宝核心的广告系统,并称将在两年内用自研数据库完全取代目前存量的部分Oracle数据库。在此期间,王坚利用一切机会为阿里云传道,公开疾呼去IOE。
阿里的自我革命并未全部完成,但去IOE概念已引发广泛的技术争论。阿里在已经形成壁垒的IT基础架构市场杀出血路,刚探索出的基于“云”的新方案逐步商用,已接入最保守的金融机构、高保密需求的政府部门,甚至开始用于司法取证系统。
2013年4月,马云在北大演讲中提到阿里云。当着已经晋升阿里CTO的王坚的面,他说:“网上都说我被王坚忽悠⋯⋯百度李彦宏懂技术、腾讯马化腾学技术,只有马云不懂技术。很多人就一直认为阿里巴巴的技术很差。其实正因为我不懂技术,但我们尊重技术,我们公司的技术才最好。”
“你要写上:淘宝2010年起不再购买小型机了”
阿里去IOE一开始是迫于无奈。
阿里巴巴研发院业务发展专家孙黎明回忆,从2006年和2007年开始,业务快速增长的阿里开始面临世界级难题——数据库太大。
2008年,阿里的数据库已经成为全亚洲最大的数据库用户。以当时的技术能力,如此大的数据库已经几乎不具备扩展可能。
“我们把全中国最知名的顶尖的DBA(数据库管理员)请到公司,一个晚上一张报表都做不出来,没有任何一家公司包括IBM、微软,能够为我们提供一整套的技术服务。”孙黎明说。
IOE架构也无法满足阿里电商平台秒杀类营销推广,“为了准备一次秒杀营销,从社会采购到安装部署至少需要半年的时间,才能完成IT系统宽容量的过程,但半年以后,这项业务几乎已经不存在了。”
对于“双十一”这样的业务暴增时点,IOE架构最让人头痛的则是需要估算交易量,到底需要多大的服务器和数据库才能保证不宕机?一次性上马太大服务器和数据库等于浪费,但若买小了又无法保证业务。
此外,众所周知,IOE投入、运维之成本,但是“阿里巴巴不愿意IBM的铁架子(服务器)躺着拿走淘宝利润”。
王坚告诉所有人:“不掌握核心技术就没有公司发展。”
阿里巴巴副总裁、去IOE项目负责人刘振飞,向财新记者回忆了王坚对去IOE的迫切。
2009年底,当时负责淘宝技术预算的刘振飞向王坚汇报,提出淘宝“2010年不会购买IBM小型机”,没想到被王坚挑战:“既然2010年可以不买小型机了,为什么还要给自己留后路以后还可能购买呢?你要在给董事会看的PPT上明确写一句:淘宝2010年起不再购买小型机了。”
刘振飞只好“攒出”一条去IOE的技术路线:“低成本、线性可控、去中心化(分布式):去IBM,PC Sever替代小型机;去Oracle,用MySQL替代;去EMC,用中低端存储”。
他最后以惊叹号结尾,粗体写上一句:“淘宝2010年起不再购买小型机了!”第二年,刘振飞进一步提出用MySQL+自研数据库(OceanBase)替代Oracle,并不再使用高端存储。
但最初刘振飞实际上心里没底。去IOE无先例可循,分布式和集中相比,在数据统一性上是否可以保证?开源数据库是否够稳定?这些问题后来在探索中都得到了解决。
和技术相比,让王坚和刘振飞更头痛的是人:“质疑的声音五花八门,有人怀疑去IOE的必要性,有人主张做几个试点具备能力就可以了,不需要彻底去IOE,还有人认为只要去掉IE就行,保留Oracle也无妨。”
但在刘振飞看来,阿里的痛点已经到了去IOE势在必行的地步:业务几乎每年翻番,系统扩展跟不上业务:“如果遇到机房电力或空调检修,需要将近30分钟才能完成数据转移。”
最终,一群“技术男”被心理学教授王坚“逼上绝路”,然后杀出了另一条路。
2012年,阿里所有的技术后台运维和运营部门集中整合,成立了全集团统一的技术保障部。阿里云形成了部门1200人全集团8000人的技术团队。
刘振飞总结,阿里巴巴去IOE的过程其实是阿里技术演进的缩影:一开始依赖商业软件,逐步形成自身的MySQL分支,成为开发使用开源软件MySQL最好的企业之一,然后是研发支持海量数据的分布式数据库系统OceanBase并用在多个关键业务。从用Oracle处理数据,到用Hadoop集群,到发展成业内单个机群节点数最多的Hadoop机群,再到用自主研发的飞天平台上的ODPS(Open Data Processing Service,开放数据处理服务)。“阿里实现了真正的云计算。”
淘宝当“小白鼠”
阿里的去IOE其实在两个层面展开,存量的重点是淘宝和支付宝,而新增业务,比如余额宝、众安保险则完全基于“云”来搭建。
当时淘宝在数据库方面需求最大,痛点最多,刘振飞希望可以从淘宝开刀。整个集团内部当时对去IOE充满焦虑,而淘宝团队居然站出来同意当“小白鼠”,刘振飞至今对此心存感激。
机缘巧合,淘宝在技术层面的一次更新也让去IOE更容易。2009年,淘宝因为自身业务需求,核心系统进行过一次服务改造,即在数据库和应用层之间增加了一个服务层,屏蔽了数据层的复杂性。
淘宝项目得以成功推进后,示范效应出现,阿里巴巴的B2B和支付宝陆续进入。2012年底,淘宝系去IOE完成。2013年5月17日,阿里集团最后一台IBM小型机在支付宝下线。而EMC存储设备在2013年中全部下线。刘振飞向财新记者强调,Oracle数据库并非完全下线,还有较少存量,计划两年内全部替换。
和存量相比,阿里新增业务使用“云”似乎理所当然,但是也并非一帆风顺。
天弘基金创新支持部总经理樊振华回忆了余额宝转“云”的历程。
余额宝2013年6月13日上线,从3月开始,樊振华团队和支付宝技术方进行整体架构沟通。
这是传统金融行业IT思路与互联网技术路线的第一次冲突,双方在闭关室足足讨论了四天,确定下来一期系统的建设目标和要解决的问题。
一期推出时,天弘基金的IT技术架构仍然基于IOE,天弘为了余额宝立项从软件和硬件准备了三个月,然而上线当天,基金网站系统瘫痪了。
马云的新要求是余额宝要参加更疯狂的“双十一”大促。这一次,樊振华没有选择,只能用阿里云,又用了三个月,天弘基金把余额宝“搬上了”阿里云。
樊振华在回忆中形容这个过程“非常艰辛”,但结果惊人。原有的IOE系统设计并入是400台服务器,清算时间8小时,交易笔数是3亿笔账户达到1000万,对于一个在业界处于中下游的基金公司而言,这样的设计已经非常大胆。9月26日,使用云之后,支持并入到5000台服务器,清算时间30分钟以内,处理笔数在“双十一”之前为7亿多,账户有效用户数1亿。天弘终于敢参加“双十一”了。
2013年“双十一”当天,整个余额宝系统发生了1679万笔交易,资金规模超过1000亿元,用户数3000万。“对于天弘基金乃至整个基金行业,这都是不可想象的。” 樊振华说。
技术问题还是信任问题
在业界对阿里能否完全去掉Oracle数据库的质疑声中,阿里已经迈上商用道路,并挤入了金融机构和政府的IT系统采购名单。
刘振飞说,阿里内部去IOE成功后,来交流的机构非常多,其中金融机构比例很大:“数据库技术团队有次和我开玩笑说,他们都快变成专业接待部门了。”
金融机构对阿里的诉求很简单,安全和稳定。为了更有说服力,阿里手里拿着各类安全认证,但在交流中,阿里更愿意讲自己的案例。支付宝在去IOE的过程中,为了满足金融行业的应用场景做了许多针对性开发,其核心交易系统已经切换到阿里自研的OceanBase数据库上。
众安保险的基础架构即基于阿里云,在开业前花了五个月的时间完成两地三中心的部署。系统上线五天就被拖进“双十一”,当天产生160万笔保单,系统处理保单花了2个小时。这样的处理能力,成为阿里云对外业务介绍时的案例。
技术界至今仍有声音认为,IOE比开源技术更安全。但阿里上下对此众口一词称是误解,并解释开源软件的优势在于开放透明,大家都可以来发现和纠正安全隐患。
“安全忧虑的本质是信任问题,信任问题惟一可以解决的方法是靠透明。”在刘振飞看来,企业、机构或政府要做的是信任选择,选择信任传统硬件厂商,还是阿里云计算服务。
IOE的高成本在业界已被诟病多年,阿里巴巴提供新的更便宜的可选方案,但并不想打廉价牌。
王坚和刘振飞都反对将去IOE的原因归结为单纯省钱,以及排外或追求国产化的问题。
虽然淘宝商品库当年用20%的成本实现了500%的容量,但并不表明后期运维就不花钱。
“IOE的运维成本固然高昂,开源软件的升级和维护成本也不能忽视。”刘振飞强调。但对于IOE的普通用户,因为IOE报价相对高,“云”的维运成本节省依然明显,一般只有IOE系统的20%,规模越大,相对成本越低。
现在找阿里的金融机构主要有两类:小银行和非主流业务。小的村镇银行一直缺乏IT系统支持,阿里输出“云”的同时,其实还是IT服务运营商的角色;而大银行在现阶段全系统改造风险尚待评估的情况下,也已经开放部分业务,尤其是对接电商的业务。
在“智慧城市”成为各地政府政绩考核要素之后,再加上适逢政府新一轮信息安全担忧之际,阿里云和政府机构的合作推进更显顺利了。阿里趁势快速签下了杭州、海南、广西多地的“智慧城市”,大力输出阿里云概念。
2014年5月,阿里云拿下国家气象局项目,将为气象信息提供数据挖掘服务。6月12日,司法系统也植入阿里云,在电子取证后快速上传并获得司法鉴定和认证,全国上百家法院已开始认可这些电子证据的真实性。
你可能还喜欢
点击下方图片即可阅读
铜陵政府:携手阿里云让工业城市重获数字新生