根据Gartner 2017年全球公有云IaaS市场份额报告,全球前三甲已无悬念:AWS、微软与阿里云,紧随阿里云后面的是Google和IBM。在竞争激烈的以公有云为代表的下一代全球企业IT市场,终于不再是IOE一统*的局面,阿里云把一抺中国红带入了全球视野。而且,还很可能是永远性的,因为2016年Gartner这份报告中还统计了14家厂商,到了2017年就只剩6家!
全球公有云IaaS前五大家都是自研技术的代表,而阿里云的自研技术亦不逊色于其它四大家。在到底是自研还是直接使用外部现有技术这两条路线之争中,阿里云最终选择的是走自主研发道路。然而,自研技术这条道路并不是阿里云自己求来的,而是在阿里自身业务发展过程中,随着业务规模的不断扩大而被倒逼出来的。在这个过程中,突破了现有技术的天花板。
所以,不是阿里云要抛弃传统IT架构,而是传统IT架构无法承载阿里云的规模;也不是阿里云刻意不用现成的技术,而是这些技术也无法承载阿里云的规模;这些都是2009年写下第一行代码时的阿里云工程师们所想像不到的。当“一花一世界”不再是比喻,而是一朵花就变成一个世界那么大时,该怎么办?可以说,今天的阿里云技术也不是神话,也是在解决问题的过程中,人肉打磨出来再凝聚沉淀下来的经验总结。
打掉了Hadoop的飞天5K集群
在整个阿里云的飞天系统研发历史上,5K集群非常具有典型代表意义。代号为云梯1的机群,搭载了开源的Hadoop大数据系统;代号为云梯2的机群,承载的是阿里云当时自研的ODPS(Open Data Processing Service)开放数据处理服务以及底层的飞天系统,ODPS后就是阿里云对外提供的自研大数据计算引擎MaxCompute。云梯1和云梯2都是当时阿里集团处理海量数据存储与计算的系统,2008年两个云梯启动时,阿里内部已经有了9个Hadoop集群。
云梯1和云梯2这样的竞争在阿里内部其实非常普遍,技术团队内部的争论非常厉害,甚至当着马云的面也不掩饰。Hadoop作为大数据的标志性项目,本身更加成熟,在技术人员心目中地位很高,感情很深,但是可控性、安全性的问题可能更会在长期成为过不去的坎儿。
2013年8月15日,基于阿里云飞天的云梯2规模达到5000台服务器规模,而且实现了跨机房,并经受了整机房断电的严苛考验。该平台计算100TB排序只需30分钟,远超Yahoo!在当年7月刚刚创造的71分钟世界纪录。阿里云成为世界上屈指可数的具备这一能力的公司之一,也是第一个对外提供这种大规模计算能力的公司。对于阿里云来说,2013年是拐点。
所以,后来阿里的自研技术团队都实行了自研技术与原有技术两套方案并行、灰度逐步切换流量、出现问题及时回滚等保护机制。一句话总结,阿里自研技术能够在阿里内部站住脚并赢得长期发展,是阿里内部的市场竞争、优胜劣汰的自然结果,并不是权威压制。
随着飞天5K项目的成功,飞天平台用技术实力证明了其在“性能强劲、架构灵活,可支撑业务飞速发展;技术自主可控,安全可靠;成本更具优势”等方面,远超Hadoop集群的优势。2014年,阿里启动“登月计划”, 将计算和数据处理统一转移飞天平台之上,并从长远的安全可控等角度考虑,支持云梯2上、云梯1下。
不过故事并没有就此结束,在云梯1和云梯2竞争到5K规模的时候,两个技术方案的原理其实是不一样的,云梯2是基于阿里业务、从底层硬件到上层应用的完整技术体系设计与优化,为未来的服务器规模的无限扩展打下了基础,这也就是今天阿里云能够成为全球前三云计算的前提。Hadoop等技术的终极设计目标并不是为了无限扩展,而阿里云很多自研技术的一个基本要求,就是要支持“无限扩展”,甚至直到今天还在为这个目标努力中。
为了中小企业而“飞天”
今天,可以在各种渠道读到阿里云自研的故事,包括王坚如何在阿里内部被各种骂。王坚当时坚持做云计算,不仅阿里内部都看不懂,外部的李彦宏和马化腾等大佬也看不懂,都认为做云计算没有前途。有一年在阿里云事业部年会上,王坚一上台就委屈地哭,他手拿话筒,对同事说:“我挨的骂甚至比我一辈子挨得骂还多,但是我不后悔。”
但为什么是阿里做成了云计算?做成了飞天?飞天早期曾经有一幅对联:梦想永在凌云意意气风发,代码成就万世基积沙镇海。这样的豪情壮志背后,真正掏钱为自自主研发买单的是马云。马云有一句经典的话:我愿意给阿里云每年投10亿,连续投十年,做不成再说。
2009年,马云要求当时的胡晓明创业阿里金融,为的是解决中小企业融资的问题,每笔贷款不超过100万、通过线上方式完成,而且必须要跑到阿里云上。胡晓明后来回忆,“2009年6月1日,马云找我谈,说你必须创业,你一定要考虑,如何解决当年在做阿里巴巴的时候借不到钱的时候痛苦,必须去解决,所有中小企业的融资难问题。”
这就是胡晓明与阿里云的渊源。从2009年开始,胡晓明创立阿里金融、王坚创立阿里云,阿里金融还要跑在阿里云上,相当于“一边盖房子,一边还要搞装修”,而且阿里金融还是金融业务,对底层计算的要求更高。 阿里金融和阿里云这对难兄难弟,开始了一起“飞天”之旅。“明明可以坐高铁,却偏偏要骑自行车去上海。”这是当时研发工程师对阿里金融要跑在阿里云上的评价。
这其中就有很多故事。阿里云第一任技术总监林晨曦是跟随王坚加入最初的阿里云,王坚与林晨曦之前都为微软亚洲研究院同事。林晨曦回忆后来做5K项目时,从腾讯新来的同学入职阿里云,第一天上班的时候看到我们说,你们是真的做!
林晨曦感叹,可能当时很多人都很难想象,我们可是真的做。阿里不仅是真的做云计算,而且一开始就服务于阿里金融这样对底层计算基础设计要求极高的互联网金融业务,更不用说在2009年的时候,互联网金融本身就是一个新鲜事物!马云要求阿里金融必须跑在阿里云,因为必须要给阿里云一个“压力”。
林晨曦回忆:在阿里云的四年,像是过完了一辈子;以后的事情,都是下辈子的。很多阿里云的新同学,都是刚入职就马上出差。而那几年,阿里云的离职率也非常之高,很多人都坚持不下去。阿里金融在内部又称为“牧羊犬项目”,在与早期阿里云的合作过程中,经历了“人肉云计算的巅峰时期”,“分布式计算”也被调侃成解决“分步试”的问题。
曾鸣后来回忆:整个阿里巴巴做云计算的过程也非常艰难,太辛苦,做不下去了,很多人觉得不可能做成,虽然相信未来是美好的,但是实际是坚持不下去的,基本上两年淘汰三分之一。
2014年底,胡晓明接手阿里云并任总裁,在继续保持大力投入技术自主研发的同时,阿里云的商业化进程实现爆发式增长。12306、微博、春晚、世界杯等国民事件背后都有阿里云的支撑。
自主研发并不意味着不开放。到目前为止,阿里一直是开源社区的坚定支持者和杰出贡献者。阿里对于开源技术的贡献,从最初的全面掌握开源技术、贡献众多的Bug和支持各种开源标准,例如阿里是Linux基金会、MariaDB基金会、CNCF、Xen project等数十家开源基金会的*会员;到后来把自研技术拿出来开源作为对开源社区的回馈,从2011年开始阿里就持续向开源社区做出贡献,这是阿里一条独特的从开源中来、回归到开源但又高于开源的道路。
目前阿里开源和维护的开源项目超过150个,涵盖中间件、开发框架、数据库和各种工具类软件,其中阿里开源的Weex、Ant Design、Dubbo、Fastjson 在GitHub上Star已经破万,阿里在GitHub上Star数超过170000,组织排名前十。GitHub 2017年数据统计显示,阿里巴巴是唯一一家入围GitHub 顶尖贡献名单的中国公司。
今天,阿里云站立在世界之巅,成为全球公有云前三强,背后是技术与技术、技术与人、人与人之间无数博弈的结果。阿里云的历史告诉我们,新技术的本质是人们根据现实的需求,对已有技术的重新组合,从而解决新的问题。以前,IOE是这样成长起来的,现在阿里云也是走的这条道路。归根结底技术都是人的产物,人才是真正推动技术进步的主要因素。所以,真正创造阿里云的,是阿里人。(文/宁川)