阿里巴巴的十三载计算力大突围
文 | 史中
2022年初,杭州雪大如席。
口罩隐蔽了孩子们兴奋的脸,汽车排成钢铁链条在城市血脉里蔓延。
阿里巴巴星散的几座园区悉数被皑皑鹅毛笼罩。落地窗前,不时有人驻足凝望。
江南大雪并不寻常,也许一生都难见几次。不知他们有没有回想起2008年,那时落雪如今天一样疯狂,停雪如此刻一样静美。
只是自己的面孔还年轻许多。
(一)计算力大突围
2008年8月,一首《歌唱祖国》通过孩子的嗓音传向世界,屏幕前人们眼含热泪齐声高歌。
可叹如今回望,那场告慰并非故事“终结的开始”,而是“开始的终结”。
盛世炙热,站在各行各业山顶的“先知们”却已感到阵阵寒意。
“计算力”领域,首当其冲。
你不妨想象一艘军舰:
承载船体的“大海”是芯片,我们的“芯片设计”和“芯片制造”都发展滞后,芯片是中国第一大进口门类。
向上看,操作系统就是“船体”,遑论闭源系统 Windows、MacOS ,开源系统 Linux 中国程序员的发言权也极为有限。
再往上看,应用软件就是“舰炮”。虽然中国“消费软件”有一些本土生态(游戏、文字处理、即时通信),但重磅的“生产软件”都来自世界老牌厂商。
例如“企业资源管理软件”领导者是 SAP,“制造执行系统”领导者是西门子,金融领域的“数据库”被甲骨文和IBM垄断。还有“碰撞模拟软件”、“流体力学模拟软件”、“工业制图软件”、“集成电路设计软件”,越精专,越没戏。
想想看,三层自研技术全面落后,拼装起来的军舰必定“惨不忍睹”。
我们和国际领先水平的差距不亚于“木船舢板”对“坚船利炮”。。。
别人能搞出来,我们为啥搞不出来?
核心问题在于:培养计算力恰恰就像拉扯一个孩子,需要在一个相对缓和的商业环境里蹒跚学步。
但现实是,我们永远错失了那个时代。如今的全球战场已是“地狱”级别——中国计算力的萌新小船刚探头进入开放的“商业公海”,就会立刻遭遇战力先进N倍的对手重炮合围,保命都难,还想操练技术,门儿都没有。。。
即便胜算渺茫,无数中国的软硬件开发者仍然前赴后继,几十年肉身搏杀,青丝白发。可叹实力过于悬殊,自研技术终究被压制在“军港”,难以突围。
本来,故事极有可能就这样暗淡地走到终章。但就在我们精疲力尽时,科技的汪洋陡然掀起巨浪,把“包围圈”冲开一道裂缝,光芒从中奔涌。
这道裂缝就是“分布式计算”。
为什么会如摩西分开红海一样,出现这道“天赐裂缝”呢?我交代一下背景:
新世纪初,互联网带动全世界经济蓬勃发展,对计算力的需求史诗级爆炸——眼看像“搜索”、“大数据计算”、“数据库”等等很多大规模任务用“单台计算机”已经撑不起来了。
这意味着,国际老牌公司最拿手的“传统计算力结构”已经看到天花板,世界面临几十年一遇的“计算力范式转移”。
两条路摆在眼前:
“航母路线”,世界主要大国很早就走通了,自上世纪60年代起,中美德日都研发了自己的超算。
可这玩意儿动一动就好多钱,只能紧著国防和科研来用——算卫星、测弹道——根本不是互联网公司这个层次玩得起的。
没办法,互联网公司被逼上梁山,只能走上生死未卜的“舰队路线”。
就在这个背景下,计算领域迎来了“奇迹年”。
2003年、2004年、2006年,谷歌重炮轰出三篇学术论文,从理论上论证了“分布式计算”是完全可行的。
这一瞬间,就如同爱因斯坦发表了相对论,转身对大家摊摊手:“接下来最先把核弹造出来,就看各位的本事了!”
仿佛发令枪响,全世界互联网公司的技术人们一起狂奔出去。
只不过,与以往“稍有不同”,这次狂奔的队伍里,出现了中国人的面孔——在“分布式计算”这个新范式面前,我们第一次和全世界站在同一起跑线上。
从天空俯瞰,情势紧急:
锁死的技术锁链一旦被挣脱,几十年的计算力突围战,将会迎来光辉的“斯大林格勒时刻”。
王坚,从某种意义上说,并没有办法选择自己的命运——因为他恰好就是离这片海域最近的人。
彼时他在微软亚洲研究院常务副院长的位置上,好巧不巧,带队研究的一个方向正是“分布式计算系统”。
他有两个选择:第一,继续帮助老东家微软造出“联合舰队”,忠人之事,无可指摘;第二,加入一家中国公司,从头造出一支“挑着五星红旗的舰队”。
2008年,纷纷扬扬的大雪,高楼的落地窗背后,他看到敞开的历史之门正在缓缓关闭,包围圈随时可能再度封死,留给他做决定的时间正在以秒计数。
此时镜头拉远,喧嚣人间霎时安静。人们看到王坚改换旗帜,带着一众中国程序员赤膊游向深海。由此,他成为了中国计算历史上一万个先辈之后的第一万零一个勇士。
王坚
“分布式计算系统”,在今天有了更朗朗上口的名字——云计算。
而王坚带领的这群人,就是如今的阿里云众将。
历史的转捩点前,王坚壮怀激烈,为起航的阿里云计算镌刻一行使命:为了无法计算的价值。
可叹彼时,空有凌云之志,周身尚无爪牙。
粗略来说,“无法计算的价值”要想实现,起码包含两个步骤:“造云”和“上云”。
造云:
就是把更多的舰船(计算机)连接在一起,稳定高效地运行。可想而知,连接的“船”越多,就越稳固,战力就越强。(不要受《三国演义》“火烧连船”的影响,那是虚构的故事。)
上云:
就是让士兵们(大小企业)抓紧时间把“舰炮”(各种业务)从原来的小船搬到这个“联合舰队”上,抓紧投入战斗。
稳妥的操作肯定是“两步走”——先造云、再上云。
但是,前有狼后有虎,容不得绣花般细致。事实上,从2009年成立伊始,阿里云这帮人就两步并作一步——一边造船,一边就想往船上拉客。。。
各大公司一看这架势,都吓得往后退:大哥,你的船体还在叮叮当当地施工,我哪敢上去啊?
阿里云的人一想,也确实是这么个理儿。。。但总得有人做先驱,上云操练一下啊。。。
苦闷中,他们一回头,突然瞥见了阿里巴巴集团大大的“淘”和“支”的招牌,一拍大腿:“对啊,别的公司不肯做先驱,就拿我们自己人做先驱呗!”
历史的那一瞬间,颇有喜感:一边是“磨刀霍霍向集团”的阿里云技术宅,一边是“傻白甜”的阿里巴巴各部门业务同学,还不知道等待自己的将会是怎样的腥风血雨。。。
2009年,在历史的猝不及防中,阿里巴巴的“上云计划”,就这样轰然拉开了帷幕。
(二)寻找“小白鼠”
2009年,北京怀柔水库西岸一家会议中心里,一堆人围着五福。
别误会,这个五福不是过年“集”的“五福”,他是阿里巴巴搜索技术的负责人。
新晋“阿里巴巴首席架构师”王坚坐在五福对面,苦口婆心说服他要把搜索业务挪上阿里云。周遭一圈,围满了年轻的阿里云工程师,额头青筋迸出,指节按得嘎巴乱响。
五福当时害怕极了。。。
不过,听王坚慢慢阐述他的技术构想,五福心里被猛地点燃了一团火:
一拍即合,搜索作为集团第一个上云的业务,派出技术精锐,和阿里云联合研发。
为了表示感谢,王坚送了搜索团队每人一个键盘。
大家都很开心。
此时恐怕上帝要冷笑一声——天真的五福本以为手里的剧本是《倚天屠龙记》,可是故事才进行到第一章,他就发现,自己演的好像是《三毛流浪记》。。。
五福
故事是这样的:
经过一年代码海洋里埋头苦练,2010年,初代阿里云“闪亮登场”。
五福一看,脑袋嗡一下。。。
阿里云很多模块的性能,都比搜索需要的低了不止一个数量级。这也就意味着,本来在云下只需要一台服务器搞定的事情,上了阿里云,就需要几十台服务器。。。
这。。。相当于路边摊吃一个鸡蛋灌饼要5块,到了大饭店,服务员张口要100——一样的东西,我凭什么要来你这“黑店”买啊。。。
五福直接拍了桌子:“老大,说好了能降低成本,现在成本反而提高这么多,你这不是坑人么??”
阿里云的技术宅们心里也发虚,安慰五福:“别。。。别急,后面我们慢慢优化,资源消耗估计还是能降下来的。。。”
五福虽然脾气冲,但也深明大义。冷静下来想,既然之前答应了王坚博士,要为中国计算力的突围尽一份力,现在自己撂挑子,于情于理也很难说得过去。
他只好劝说同学们回到岗位,继续耐心陪阿里云一起研发。
站在今天,可以负责任地说,2010年的搜索上云,其实是一场没有任何胜算的战役。
核心原因就是:
当时的阿里云众将大大大大低估了云计算这个“分布式操作系统”的研发难度。
从头写一个操作系统,对于彼时的中国程序员来说,是“奥数”级别的操作。而当时除了几个骨干是王坚“微软亚研”旧部,大多阿里云的程序员都只是满腔热血的“应届生”。
代码越写,坑越多。好容易走到了坑底,没想到坑底还有下水道。。。
用后来一位阿里云同学的话说,他要一早就知道云计算有这么这么难,当时早都辞职不知多少次了。。。
但生意可不等人。2010年,淘宝的发展突飞猛进,“双11”也逐渐势起,用户访问量暴增。
第一届“双11”还没有大屏幕显示成交额,大家用数字和表组成“人肉大屏”。
面对“黑云压城”的用户,五福都快“死”了:
用户搜索的每一个商品关键词,都如重炮般轰击在搜索系统上。此时,本应赶紧调兵遣将,抢修战场上的搜索系统;可回头看,他的主力团队却悉数陷在和阿里云联合研发“新引擎”的大后方,一滩烂泥完全无法抽身。
情况越发危急,搜索的技术同学轮番拿着一浪高过一浪的访问数据找到五福,泣血死谏:老板,赶紧把主力部队调回前线吧!搜索引擎眼看要超过“警戒水位”,我们担不起这个责任啊!
连续几周辗转反侧,五福肩头的压力冲破极限。最终,他还是拉着几个骨干敲开了王坚办公室的门。
“博士,快扛不住了,能不能让我们先撤下阿里云?”
王坚别无选择。
一边是联合研发无限期停止,一边是旧搜索引擎采用“保守技术”紧急加固,很快,大火被浇灭,硝烟如霾散去,前几个月的血战似未曾发生。
但无论是搜索团队还是阿里云的年轻人,心里都压着一块石头,小心翼翼,不敢回头。
出师未捷,但中国计算力千载难逢的突围机会正在一分一秒地流逝。
容不得顾影自怜,王坚和同事们一边加紧升级技术,一边马不停蹄寻找下一位“先驱”。
(三)“登月”
挑来挑去,“大数据计算业务”成了新的“猎物”。
大数据计算业务当时主要支持“淘宝”(用来计算营销数据)和“阿里金融”(用来计算贷款)。这回阿里云学乖了,不敢猛地一下把“大数据业务”全搬上云,先挪半只小白鼠。。。
淘宝这边体量大,技术体系复杂,硬骨头可以往后放放;彼时刚成立的“阿里金融”体量小,没历史包袱,怎么看怎么可爱。
阿里金融的工程师前几天还在看搜索团队的热闹,一回头,就看到阿里云奔自己来了。。。
他们把刀架在自己脖子上:你们别过来啊!我死给你看!
阿里云这群疯子才不管这套,这次就算是死,咱们也要一起死。。。
当然,阿里云也不是混不讲理,他们是提前拿到了“尚方宝剑”的——为了挺王坚团队,铁血推动阿里云发展,马云已经让阿里金融的负责人胡晓明立了军令状,一定要把业务绑在阿里云上开发,死都不能分开。
(这段故事可以参考《阿里云的这群疯子》)
胡晓明
只是可怜阿里金融的这帮人,虽然做足了思想准备,还是“低估”了阿里云的水平。。。与其说当时的阿里云是操作系统,不如说它就是行走的 Bug。
那段日子,在阿里云上开发业务,就像在地震带上盖房。
阿里金融的工程师开发金融业务反倒成了“副业”,“主业”反而变成了处理各种底层 Bug,到了晚上睡觉前,都恨不得烧柱香,乞求系统不要半夜报警。
有一位奶爸工程师,把自己小孩的哭声设置成报警闹铃,一听到这个声音,就“垂死梦中惊坐起”,到电脑前解问题。。。
王坚这帮人口口声声说阿里云是“为了无法计算的价值”,可阿里金融一线同学看到的情景,根本就是“无法计算的损失”——他们见到阿里云的人,不骂出声就已经是很礼貌了。。。
事情搞成这样,阿里云的年轻人心中那个“计算力突围”的宏伟梦想,像是一颗宝石被蒙上了千万层灰尘,压根都没脸对别人提起。
兄弟团队的白眼他们只能当没看见,咬著牙一个一个解 Bug,一秒一秒,期待把艰难挨过去。
后来,阿里巴巴拍了一个短片,讲的就是当时的窘境。
2010年,好容易这边阿里金融的大数据业务稳定了一点,工程师不用再“起夜”了,大家已经谢天谢地。。。
可是,连气都没喘,阿里云又“恬不知耻”地去找另外半只小白鼠——淘宝网的大数据业务。
淘宝团队心里一万只草泥马:
“大哥啊,你们捣的乱还不够吗?原来的大数据系统明明还能用,为啥逼我们上那个破云?”“这个王坚到底是啥背景?会不会过很快就被撤了?”“都传阿里云要解散,难不成就是这几天的事儿了吧。”
其实传言并非空穴来风,阿里云连续两年拿到集团最低绩效分,最初的阿里云队伍,已经“折损大半”,能够“算得清价值利弊的”,早就不是转岗就是辞职。
有人担心,找到王坚问:“博士,你说实话,公司明年还做不做云计算?”
王坚抬眼看他:“我不知道公司明年做不做云计算,我只知道明年我还会在这里!”
就这样,阿里云的工程师离职一批,他们就重新再找一批;一个工程方向失败了,就换个方向再来。
这是王坚任阿里巴巴 CTO 之后,内网的“嘲讽帖”。
就在2012年,阿里云最危险的时刻,“戏剧性转折”终于出现了:
可怜的阿里云前几个月还被嫌弃,这几个月就成了“全村人的希望”,开始被淘宝大数据“夺命连环催”,等著盼着要“上船”。。。
淘宝大数据业务向阿里云上迁徙的的计划,被郑重地命名为“登月计划”。
第一次被这样寄予厚望,阿里云的年轻技术宅们又惊喜又紧张,恨不得长两个脑袋四只手,可无奈越急眼前的问题就越难,开发进度不如意。
2013年,眼看距离旧系统资源耗尽的时间只剩一个月,阿里云仍不具备迁移条件,所有人都快急哭了。
危急时刻,最理解王坚的一位技术大牛,时任阿里巴巴核心系统部负责人章文嵩挺身而出,发出“英雄帖”,紧急征召淘宝最强的技术大牛开赴阿里云,使出毕生绝学帮助阿里云解 Bug。
大力出奇迹。几十位中国最强的武林高手,就像一管强心针,直接把阿里云从“瘫痪在床”搞成“舞池蹦迪”。
就这样,2013年底,眼看旧系统快要撑不住的那一瞬间,大数据系统完成了惊险的迁移。
“登月”成功,所有人横七竖八瘫了一地——大半年了,总算他喵的能正常喘气了。。。就在这一刻,他们蓦然抬眼,看到阿里云这一队“连环战舰”漂泊在汹涌的海上,遮天蔽日,气象初成。
奇观在前,人们终于愿意相信王坚,愿意直视他背负的那个沉重理想。
(四)血铸“倚天剑”
自家大数据业务上了云,阿里云这群人终于一扫阴霾,不仅有了和兄弟团队说话的底气,还敢挑出幌子招揽外部客户了。
当时,每一个客户王坚都亲自见,见人就把自己的名片留给人家,说有问题直接给我打电话,旁边的人拦都拦不住。
为了打消客户顾虑,王坚还拍胸脯,如果因为阿里云的原因用户遭受了经济损失,阿里云负责“百倍赔偿”,这个规则都是写到合同里的,旁边的人还是拦不住。。。
可即便如此,95%的企业却还是将信将疑。
有一次,阿里云同学去一家银行聊合作,对方的拷问直击灵魂:你们的核心业务,淘宝、支付宝上云了没有?
阿里云同学面露羞赧:目前只有大数据这一块儿上了云,核心系统嘛,我们有这个计划。。。
对方直接打断:那等你们核心系统上云了再来找我们吧。吃螃蟹的事儿,我们不干。
阿里云灰头土脸地回来。搞了半天,光有“大数据系统”一个小白鼠上云,还是不好使啊。。。
事实证明,客户的谨慎是对的。
米哈游是最早吃阿里云“螃蟹”的公司,那时他们还没开发出《原神》,刚做出来《崩坏学园》。可是就在2014年,《崩坏学园2》最火时候,阿里云先“崩坏”了:
一次误操作引发意外重启,把所有玩家踢下线。。。
米哈游创始团队
米哈游怒火中烧,拿出王坚的名片,一个电话就打过来!
王坚和主要负责人开车去上海,给米哈游道歉。
在车上,王坚叹气:“当我们在地上,看客户在飞机上的时候会有误操作,当我们和客户一起在飞机上的时候,就不会有误操作了!”
这一切,刘振飞看在眼里。
作为引荐王坚和马云认识的人,作为阿里巴巴新晋合伙人,作为阿里巴巴“去IOE”项目负责人,时任系统保障部负责人刘振飞在阿里内网上发帖,建议加速“集团云化”——淘宝、支付核心系统要在三年之内跑在阿里云上!
刘振飞
大家都明白,这是一次公开的“喊话”。
下面的评论立刻炸了锅。。。
反对者以淘宝人居多。
如果说之前的“大数据系统”还是几门轻型火炮,那十几年积淀的淘宝的核心系统就像一组超级复杂的重炮,现在要一股脑砸到阿里云的船上,你的船不会沉吗?
答案很简单:必沉。
其中一个核心的问题就是:“虚拟化损耗”太大。
这里涉及到一个小知识:
云计算之所以能做成“联合舰队”,是因为它必须先用“魔法”把军舰的甲板(服务器)绑在一起,再用“魔法”分割成小块的“虚拟甲板”(虚拟机)分配给各个业务来用。
但这一来一回两次“施法”,就要额外消耗计算力。行话叫做“虚拟化损耗”。
举个例子:
原本10台服务器,经过“虚拟化”之后,还没跑什么业务,就剩8台服务器的算力了;
装载业务以后,计算力损失还会更夸张,比如“购物车”这个模块,甚至可能10台服务器虚拟化之后只剩1台。。。
虚拟化损耗示意图
淘宝业务体量这么巨大,每年还要搞“双11”这样的大促,本来用到的服务器都是数以十万计,成本沉重,一旦上云,所需要的服务器数量还会直接翻几倍,这。。。
不解决虚拟化损耗问题,核心系统上云想都不要想。
时任淘宝总裁张建锋经过慎重思考,决定给刚成为阿里云 CTO 的章文嵩来一次“考试”:
面对张建锋这么严苛的要求,阿里云瑟瑟发抖,大伙儿心里有数,凭现有的技术力量,恐怕妥妥地要考砸。。。
他们急需一个“外援”。
章文嵩给全国的技术大牛拨了一圈电话,神奇的是,大家给他的建议几乎一致:要挖就挖张献涛。
张献涛究竟是何方神圣?他是当时 Intel 中国区的技术大牛,论虚拟化技术,属于公认的“独孤求败”级别。
章文嵩本来担心外企待遇优厚,张献涛不愿来阿里吃苦受累。没想到张献涛早就心怀技术报国的理想,没有任何推辞,临危受命。
他就像空降的伞兵,直接被投在敌军环伺的凶险战场。
张献涛
说“凶险”,其实不夸张。
阿里云从成立以来,采用的就是传统的“Xen”虚拟化架构,可是,在这个技术架构上修修补补,恐怕“全员战死”也不可能把虚拟化损耗降到10%以内。
张献涛跟章文嵩建议:如果信我,就赶快启动一个全新项目——从头开发基于新技术“KVM”的虚拟化架构。
章文嵩毕竟要对大局负责,很谨慎:“给你两个同学,先写一个验证版本出来。”
张献涛花了一个月,把验证版本写好,一测试,果然大幅提升性能。章文嵩拍板:“干!”
这就是“倚天剑”项目。
2015年3月,距离双11还有半年多,新一代虚拟化架构研发完毕。但是,一测试,虚拟化损耗竟然在20%左右。这个结果出乎了很多人意料,阿里云内部立刻喧哗四起。。。
抉择的压力突然转到章文嵩身上,此刻他面临两个选择:第一,回到大家更熟悉的 Xen 架构,祈祷用剩下的时间把虚拟化损耗能降多少降多少,起码不会死得那么难看;第二,继续攻坚新架构,可这条路一旦走不通,那结局就是“丢人现大眼”,阿里云这几年好容易攒起来的技术信誉一夜归零。。。
章文嵩看向张献涛。
张献涛咬牙:回到 Xen 一定死,坚持新架构还有赢的可能,恳请各位再和我冲锋一次!
第二天,张献涛和团队列出了几百项优化计划,然后像机关枪一样挨个狂扫,在代码的战场杀得昏天黑地。
那时候早晨上班,经常能看到盯了一夜指标睡在工位上的同学。
人门还记得,在5月的一次技术评审会上,屏幕上的虚拟化损耗率经过几秒波动,竟然稳定在了5%的水平,比张建锋的要求高出一倍。
下一秒,人们爆发出近乎尖叫的欢呼,“倚天剑”成了!“倚天剑”成了!
然而,九九八十一难,还差一难。。。
就在“双11”之前两周,所有测试都没问题,唯独支付系统的一个子应用,虚拟化损耗硬是停留在30%。直觉上这个问题并不难解决,可是一群人围着好几天,愣是找不到原因。大家开始慌了,眼看逆袭就要成功,可千万别阴沟翻船啊。。。
就在这时,一位运维同学指著屏幕弱弱地问了一句:这个数据库应该配到深圳机房吧?怎么连到了杭州?
花了三秒钟,改了一个数字,一切恢复正常。
所有人捶胸顿足,一边恨自己云上经验不足,一边又感谢上苍让自己“逃出生天”。
终于等到“双11”,大考降临。10%的流量如约切到已经被测试了上百次的阿里云上。阿里云同学们憋了一肚子的火焰,此刻火力全开。
那一整天,阿里云系统啸叫着跑完全程,直到次日零点,任务结束,故障数量为“0”,连抖都没抖一毫。
秋夜如水,有人把脸埋在手掌中。说不清为什么,他们就是想用一次完美的战役荡涤心里的委屈。
“双11”刚过,阿里云团队突然收到了淘宝团队发来的一封感谢信。
张献涛抱着电脑把这封信读了又读。他当然知道,这封信不仅仅是表扬那么简单,这是阿里巴巴最核心的业务对阿里云梦想的一次拥抱。
这种拥抱恒久而坚定,像烈酒,又像良药,让身上的每一道伤疤都不疼了。
(五)春天里的“暂停键”
“如果有一天,我老无所依,请把我埋在,这春天里。”
2016年,恐怕就是阿里云众将魂牵梦绕的那个“春天”。
那一年,新任总裁胡晓明摊开地图,驾长车破阵,带领阿里云在广袤的土地上攻城略地。仿佛九月的塞伦盖蒂草原,无数中大型企业开始了向云上狂奔迁徙的史诗进程。
而在集团内部,阿里云又进行了一场“基操勿六”的华丽表演,用3%的极限虚拟化损耗扛下了“双11”60%的流量,他们信心满怀,兵临城下,剑指整个集团,“全面上云”箭在弦上。
然而,彼时已经成为集团 CTO 的张建锋却嗅到了一丝“山雨欲来”的气息。
当时,阿里巴巴集团的核心技术已归于四大中台:
在线业务、大数据计算业务、搜索业务、数据库业务。
可是,掰着手指头数数这四大中台,“大数据计算”付出惨烈代价已经被阿里云支撑;“在线业务”只有双11这一天才用到阿里云;反观“搜索”,自从2010年被“深深伤害”之后,五福就一直保持观望,目前仍然不具备上云条件;而“数据库”对底层技术的要求更是变态,阿里云目前的水平也无法承载。
简单来说,云计算的基础技术分为三方面:“计算”、“存储”、“网络”。
要想扛住四大中台,阿里云这三个基础技术必须全部登峰造极。可现实是:当时的阿里云,在这三方面都不够极致。
全集团上云的过程,被张建锋冷静地按下了暂停键。
在2016年“双11”复盘会上,张建锋提出了一个“不近人情”的要求:
张献涛一口老血喷出来,大哥你这玩意儿不科学呀。。。
但张建锋一脸认真,他没有想开玩笑:“只有把虚拟化降到“0”,阿里云才会具备和物理机持平、甚至更好的性能,这样,阿里巴巴集团的所有业务才愿意“全面上云”!只有阿里巴巴全面上云,千行百业的各种计算任务才有机会完全上云!”
张建锋
乱世须用重典,奇效需要猛药。其实,领到这个“不可能的任务”那一刻,张献涛心里已经有数了。
他的计划就是:必须造出一颗宇宙中从未存在过的芯片,担负起所有的虚拟化职责。
也正是从这一刻起,阿里云的使命第一次从打造“操作系统”这个舰体,下潜到了“芯片”这片汪洋深海中。
回首看,之前“从战舰到海洋”的设想,正在缓慢成真。
浩大的芯片战役,召唤最凶猛的战士。
那一年,张献涛大开杀戒,连续招揽了各路芯片大牛,负责核心芯片设计的渐名前一天刚刚入职,后一天就带着行军床进驻了办公室,没日没夜用两个月得时间把芯片设计完成。
而负责芯片板卡设计的芳志回忆:“好歹我在这个行业里也摸爬滚打十五年了,这是我见过最复杂的板卡,没有之一。当时哪怕只有一根线路设计出现错误,都会导致板卡点不亮。”
一个寒暑过去,2017年10月12日,阿里云副总裁,集团上云总指挥李津在云栖大会上毫无预警突然宣布:阿里云已经用一颗神秘的芯片把虚拟化损耗降到了“0”。
李津
消息之炸裂,以至于很多人第一反应是:这是个假新闻。。。
当然,所有人的努力都是无比真实的,这颗芯片就是后来被业界竞相效仿的 DPU,而装载了 DPU 的服务器,就是名声大噪的“神龙云服务器”。
神龙核心芯片板卡(MOC卡)
刚才说过,云计算的基础技术分为三方面:“计算”、“存储”、“网络”。
2017年出发的敢死队中,张献涛“零虚拟化损耗”的“神龙”只代表了“计算方面军”;而在“网络方面军”,江鹤带领大家研发出了搭载自研芯片的大型交换设备“洛神云网关”,把可以同时连接的虚拟机数量推上了“100万”大关;在“存储方面军”,Jason 带着存储团队开发了“盘古存储2.0”,把百亿级别的读写操作从毫秒时代推进到微秒时代。
洛神云网关
有了这些“重器”垫底,张建锋才终于“松口”,放阿里云过了自己的“技术关”。
现在回望,2017年阿里巴巴成立前沿科技研究部门“达摩院”,2018年组建芯片公司“平头哥”,其实背后的精神都可以汇入那同一道奔涌的大河:中国的计算力突围。
而阿里巴巴的全面上云,正是这场漫长突围战的关键一役。
2018年,在那个无数人怀恋的“春天里”,已被搁置太久的“全面上云”的战役终于打响。
(六)“巨炮”挪移
张建锋宣布:从这一年开始,集团所有部门(除了阿里云),将不允许购买任何服务器,要用计算力,就必须上阿里云。有趣的是,与此呼应,阿里云也把对外部客户的核心口号改成“上云就上阿里云”。
当时业内流传一句诗:洛阳亲友如相问,上云就上阿里云。洗脑程度,可见一斑。。。
终于到了“核心系统”搬家的那一刻,之前死命推动这件事的阿里云总裁胡晓明不知为何,突然有点心虚。想了半天,他明白了问题所在:电商那边“拆”系统肯定成功,他担心的是云这边万一“装”不好,可怎么办?
胡晓明的决定是:要从电商部门“挖”来一个对核心系统熟悉到“倒背如流”,做梦都能把代码背出来的大神。
这样的大神还真有。。。电商有一个低调神秘的“中间件”团队,日常的工作职责恰恰是开发一些精巧组件,粘合电商所有子系统之间错综复杂的运作。
“中间件”的负责人小邪,就在这样的背景下,一脸懵逼地被揪到了阿里云,扣上帅帽,统领阿里云的所有技术产品。
似乎胡晓明也并不关心,2014年刘振飞的帖子下面,小邪的意见是明显的“对集团上云持保留态度”。。。。
“我是个听话的人,反正领导让我做什么,我就做好!”
回忆当年,小邪说得很诚恳。
事实也证明,听话的小邪对岗位无比忠诚——了解了云的梦想和战略,立刻调转枪头,成了鼓捣核心系统上云的“急先锋”。
小邪
就这样,从天空俯瞰,“电商核心系统”这门重炮,被从原来的军舰上拔起来,缓慢地往阿里云上吊装。
阿里云的这群人惊呆了,他们第一次亲眼看到到这门重炮的细节结构有多复杂——管线穿梭,环环相扣,精密非凡,巍峨壮丽。
这一瞬间,他们才真正明白“定海神针”张建锋当年的良苦用心。若不是张建锋逼着阿里云搞出了“零损耗”的神龙,这门炮强行放在原本的阿里云船体上,将是灾难般的存在。
这边核心电商系统刚刚迁移完成,放眼阿里云这支舰队,四周已经围满了小船:
各个系统的“上云”工作像春天的花一样四处开放。
数据库也打响了上云的第一枪。
陈锦赋,就是当时数据库迁移的主力技术人。
陈锦赋
数据库上云有多难呢?
还拿战舰举例子。
数据库的“舰炮”形状是很特殊的,只能放在特殊的战舰上。过去,这个战舰都是数据库团队用物理机自己搭建的特殊型号。
现在要搬上云,云的战舰是统一的标准品,原来的舰炮就装不上去。
这个过程中,就必须用云上提供的标准原材料重新造出一个舰炮,也就是说,四舍五入要重做一个数据库。
而且,之前说到,数据库对计算性能的要求极其变态。
有些云的性能达不到原来服务器的标准,就只能自研很多黑科技,例如“I/O 合并”、“自研文件系统”等等。
况且,数据库还不只有一种。为了适合不同业务场景,陈锦赋他们搞出了云原生数据库PolarDB、云原生数据仓库AnalyticDB、云数据库 RDS、云原生内存数据库Tair等等很多种类。
作为舰炮设计师,陈锦赋他们足足花了几年的时间才完成这些复杂系统的设计和交付。
就这样,数据库这门巨炮,也慢慢被这帮人搬上了云的“舰队”。
虽然你我并没感觉,但从这一刻开始,自2003年以来下单买过的每一件商品记录,都已被腾挪写入了阿里云。
那段日子,阿里云上不仅迎来了电商核心、数据库等等重磅系统,还迎来了一个重磅的人,他就是张建锋本人。
为阿里云的梦想金刚怒目保驾护航了十年后,他终究成为了新一代阿里云的掌门人。
而另一位为同样阿里技术贡献了十几年的技术人鲁肃接过 CTO 的沉重火把,继续带队前行。
鲁肃
2019年,就在“集团上云”如火如荼的时候,张建锋和鲁肃几乎同时发现了一个大问题,那就是:
大家上云的“姿势”很可能不对!
(七)“可以计算”的价值
阿里巴巴内部有很多系统,它们都诞生“上云”之前。
这意味着一个重要的事实:这些系统原本就不是为云而设计的。
硬要搬到云上,虽然也不是不行,但有两个绕不开的问题:
举个生活中的例子你就明白了:
这就像把实体算盘搬进了电脑里,做成了一个“虚拟算盘”,结果你的使用方法就从“手动拨算盘”变成了“用鼠标拨算盘”。这就很鸡肋了,因为你想要的是把数字更快地算出来。
你不需要“虚拟算盘”,你需要“计算器”!
所以,与其费尽心思“搬家”,为啥不把原来的系统直接废弃,在云上用“第一性原理”重构一套系统呢?
这个思路,就叫做“云原生”。
云原生的技术路线很多,现在最主流的路线是:容器化。
啥是容器化?
简单来说,就是把过去巨大的程序拆成小模块,然后把小模块放进类似“玻璃瓶”的容器里,容器和容器之间通过“接口”相互连接、调用——完成和过去巨型程序同样的功能。
你可能直觉上觉得:把大程序拆小,不是更难管理了吗?
其实不然。
在容器界,有一个叫做 K8S 的开源神器,专门负责海量程序调度,由于容器很小很轻,恰恰可以需要的时候,一秒钟就建立好,不需要的时候,一秒钟就关掉。
如果说原来的程序是“巨炮”,经过容器化重构的程序就变成了“机枪”,随时可以腾挪,万弹齐发如蚂蚁吞象——反而灵活了许多。
而且,容器化带来了两个明显的好处:
其一,是标准。
之前在云下,各个业务都会自己设计“枪炮”,用料独特,手法个性。就像大厨一样,换个调料味道都不对。而现在上云,必须调用云上提供的组件来组装自己的武器,就像麦当劳,全国各地吃到的都是同样的味道。
其二,是灵活。
刚才我们讲过,一个虚拟机里只能跑一种程序,要么是“数据库”,要么是“大数据系统”,要么是“在线电商”;现在,各种程序都被“大卸八块”塞在容器里,一个虚拟机里可以跑几十上百个容器,至于容器里放的是“胳膊”还是“腿”,放的是“数据库”还是“大数据系统”,根本没区别!
这种特性,就使得一台虚拟机里可以对各种程序进行“混部”。
举个例子:白天,阿里云上可以主要跑“电商”,到了晚上,买东西的人少了,同样的计算力就可以主要跑“大数据”。
这么一来,本来需要开两个“单间”分别跑的任务,现在可以通过容器技术搞“合租”塞进一个房间里,直接节省50%的成本。
不过,容器技术也不是千般好:毕竟是把“单间”改成“合租”,一个屋簷之下,程序之间难免抬杠拌嘴,争抢资源。
越是把容器塞得密集,越是会出现这种情况。
这时,K8S 的核心模块“容器调度器”身上的压力陡然变大——一旦调度得不好,让程序打起架来,效率不升反降,得不偿失。。。
懿川,就是被挖来专门解决这问题的大牛。
懿川是花名,如果提到他的真名,那是“云原生界”人尽皆知的大牛。但他特别嘱咐我,别多说他的过去,他不想要光环,只想在阿里做成一点事情。
调度器的难题,其实是业内老大难的问题,说到底,是因为系统里原本存在好多调度器。
调度“大数据计算”的是一个调度器,调度“在线计算”的又是一个调度器,这两个调度器各自调度,就像一个公司有两个总经理,肯定会打架。
于是,只好再在他们中间放一个“仲裁器”,他俩发生争执,就去“仲裁一下”。
可是。。。每次发生争执,都要打一场“官司”,这事情就耽误了呀。。。
解决方案其实很明确:开发出一个能够调度所有类型“统一调度器”!
“统一调度器”说起来容易,但之前不乏技术大牛挑战过,都没能成功。就连谷歌也没有实现基于 k8s 的统一调度并大规模应用。
但懿川不一样,面孔年轻但顶着一头白发的他已经把容器技术玩到“纯熟”了,这次来阿里,就是奔著独孤求败来的。
2020年,还在试用期的懿川面不改色跟大家立下军令状:三个月,我要做出“统一调度器”,如果做不出来,正好,也不用转正了,我走人!
他这个“自杀式军令状”,反而炸出一群大神。
来自“大数据”、“搜索”、“数据库”、“电商”里的各路容器大牛,拍拍他的肩膀,决定跟他一起“独孤求败”——组成联合研发小组,开始疯魔一样研发调度器。
就这样,当年8月,统一调度器如约发布。
同事们惊为天人。
“独孤求败”的大神中,就有林伟一个。
他是阿里云“大数据+AI 工程化”领域的技术大牛。
2008年,林伟也在微软亚洲研究院,那时他就有机会来阿里云,但他却拒绝了邀请,选择去微软美国前线工作了几年。
美国的前线战斗,让他在软件工程化能力上炉火纯青。2015年,觉得时机成熟,林伟郑重接受了再次发来的邀请,加盟阿里云。
他加盟的时间点,恰是“登月计划”之后不久。
在“登月”的时代,今天常见的云原生工具还不健全,阿里云建设了自己的一套云原生系统核心雏形。
林伟面临的难题,就是如何让“自有云原生体系”和“开源云原生体系”协同进化。
这时候,他的工程化绝活就派上了用场。当时,他使出毕生绝学,对大数据系统进行了一次巨大重构,才使得这个系统平滑运转至今。
林伟
林伟和懿川合作那几个月,简直是高手过招,只见刀光,不见人影。
2020年,林伟带队不仅把大数据计算平台 MaxCompute 搬进了容器,还把计算平台“三剑客”的另外两个——人工智能计算平台 PAI 和大数据治理平台 DataWorks——统统适配了容器。
至此,数据平台完成了云原生化。
四大中台里,在线业务、数据库、大数据三大中台均已上云。
云原生和容器技术给云上的产品带来了“标准化”,而标准化意味着“平等”。
阿里云上的这些“机枪大炮”,不仅给阿里巴巴用,同样可以提供给云上的“非阿里”客户使用。至此,阿里巴巴集团成为了阿里云的“标准”客户,阿里云并不会对“阿里巴巴集团”有偏袒的支持,而是和“其他客户”一视同仁。
遥想2014年,阿里云说要和客户“坐同一架飞机”。此时,几番寒暑过去,这群人终于可以骄傲地说:我们自己上飞机了!
然而,此时此刻,追光之外的孤岛上,还站着一个人,他背负著无人能解的遗憾默默前行了十年。
他就是五福。
(八)孤岛回归
2018年底,张献涛、Jason 带着一群人坐在五福对面。
五福恍然想起2009年的那个下午。只不过,对面的人不再是王坚。
九年过去了,世界变了许多。唯一没变的是搜索的“逆天”难度。
讲2009年的故事时,我们只提到搜索对底层资源要求高,但没具体解释,这里不妨科普两句:
一边是:自从2010年“下云”之后,搜索一直在沿用当时的“保守方案”,此时旧的技术路线已经接近天花板——这台“大炮”的很多组件都年久失修了。
另一边是:阿里巴巴的商品数量已增加到将近10亿,每一个商品,都是搜索引擎肩上的“一根稻草”。
搜索作为最后一个“孤岛”,上云迫在眉睫。
就是这个搜索框,背后有无数技术大坑。
但五福还是“留了个心眼”。
他让技术大牛喜得去给阿里云做一个“体检”——只有通过各种严苛的性能测试,才能开始迁移。
几天后的会上,喜得表情凝重:按照最严苛的标准,阿里云的计算、网络、存储性能都还不够完美。
但与2009年不同的是,这次阿里云离及格线非常非常近。
五福内心非常纠结:如果强上,未必不成功。但万一上云之后顶不住,又要第二次撤下来,那。。。。
讨论再三,五福决定:搜索暂时不上云!但只要阿里云的性能达标,第二天搜索就可以启动上云。
说实话,这个决定还是出乎了阿里云的意料——毕竟全集团都上了云,为什么搜索就是死活上不去?
阿里云的计算、存储、网络几大团队受了不小的“刺激”。
2019年初,他们决定组成“攻坚小组”,就在搜索团队的楼下办公,你搜索要什么性能,我就研发什么性能,发誓要用一年时间把搜索搬上云!
存储团队负责人Jason(左)和网络团队负责人祝江鹤(右)
深入搜索内部,阿里云才发现,原来搜索团队真的不是“矫情”,而是搜索对计算力的用法就是和别的业务有巨大区别。
现在给搜索准备的阿里云,就像是给西餐大厨准备了四川辣子,怎么用都不顺手。。。
没关系,你有多大的脚,我就有多大的鞋——当时正在研发最终阶段的神龙二代服务器,专门添加了适合搜索场景的特性;洛神云网关也从上一代芯片 XGW 进化到了新一代芯片 HGW,极限转发性能提升十倍;盘古2.0专门针对搜索对“速度”的要求研发了“超高速 POV 链路”。
2019年底,一个超大的会议室,所有大咖齐聚一堂。
这边是搜索计算平台总负责人周靖人、搜索负责人五福、还有一众技术骨干;那边是阿里云神龙服务器、弹性计算、盘古存储、洛神网络,技术的骨干悉数到齐。
阿里云拍著胸脯,向搜索正式发出“上云邀请函”。
周靖人回忆:“虽然当时还没有一个完善的上云方案,但看到阿里云几乎所有负责人都来了,给了我非常大的信心。”
当时,搜索团队就决定,2020年双11,搜索要全面上云。
这一年,虽然疫情来袭,整个世界都为之冰冻,但是技术的火焰却越烧越旺,相比2009年,阿里云的网络吞吐性能从5万 PPS 做到了2500万PPS,磁盘存储I/O性能从500次每秒变成了100万次每秒。
在这样的变态性能加持下,搜索引擎一鼓作气顺利完成“云上重构”。
昔日一别,苦等12年,阿里云的技术发展终于追上了搜索的需要。这个孤岛终于回归云的怀抱。
只是搜索团队,恐怕已没人用王坚12年前曾经送给他们的键盘敲代码了。
2021年1月,小邪提议,为搜索上云举办了庆祝仪式。
那一天,阿里云总裁张建锋来了,阿里巴巴 CTO 鲁肃来了,五福来了。
王坚也来了。
五福不再是那个嫩小伙,王坚的两鬓也长了白头发。
五福对王坚说:博士,12年了,我在你面前没有遗憾了。
王坚
(九)无法计算的价值
王坚曾经说,有些问题十年才能求出解。
他说少了。上云这个问题,求解了十多年。
2021年“双11”,被鲁肃称为集团100%上云,也就是阿里巴巴的大大小小的业务,已经完全跑在了阿里云上。
阿里巴巴集团完成全面上云的壮举。而这件事,其他国际云计算的领导者,亚马逊、谷歌、微软,都尚未对外宣布完成。
在鲁肃看来,数字是最诚实的情报官,每一行代码的价值都可以被测算。依靠资源共享和混部,CPU资源利用率提升了30%,而所有业务基于云原生统一开发,开发效能也提升了20%。
2021年底,世界最权威的技术评测机构 Gartner 发布了最新一年的云计算评测报告《Gartner Solution Scorecard 2021》,通过严格实验为国际主流云厂商的“计算”“存储”“网络”“安全”“韧性”“运营与治理”等9项水平打分,阿里云横扫“计算”、“存储”、“网络”、“安全”4个第一。在核心技术指标上完全超越亚马逊 AWS、微软 Azure 这些顶尖玩家。
如果回到2008年,你告诉任何一个程序员,中国在未来十几年计算力底层技术上将会力压所有人一头,估计他们都会用关爱的眼光看你。
但如今,云计算的战舰已经列队整齐,在阳光下熠熠,如海之鳞。
虽说计算力的突围还远远不能言成功,在芯片的“海洋”和应用软件的“舰炮”上,尚有远路须行。
但谁都不能否认,昔日计算力的铁桶包围圈,正在被我们撕开裂口。
几代工程师前赴后继才完成的“阿里集团全面上云”,换来的是“异乎寻常的稳定”,是“性价比的提升”,是“运维工具的丰富”。
于是,越来越多“国之重器”开始信任阿里云,乃至整个云计算技术。
负责阿里云客户交付的张瑞一口气帮我举了很多例子:
“有时从现场回来,就像做梦一样。我之前从没想过自己做的事情可以和国家的命运血脉相通。”张瑞感慨。
虽然我以“民族主义”的视角讲述了整个故事,但回望王坚和团队们最初的梦想,最让我个人感到欣喜的,却是他们“人类主义”的梦想得偿所愿。
一个真理不言而喻:
云计算在“提高生产效率”方面,终归能找到一个公式算出节省的成本究竟有多少;
但是,基因测序、预测地震、探索宇宙、从病毒手中抢回生命,凡此种种,没有一个公式可以衡量出它们的价值。
这,才是真正“无法计算的价值”。
遥想2008,王坚一行踽踽独行;2012,阿里云末日求生;2016以来,胡晓明鲜衣怒马,张建锋羽扇纶巾;2020年,大神齐聚独孤求败,集团全面上云;以至于如今,云计算已经成为众多公司引以为傲的技术方向,成为我们国度的一张名片。
在看客眼里,一切都发生得不能再顺理成章。
可是,只有剧中人知道,良机并非天赐,爪牙岂能天成。
三代阿里云领导人聚首。
当年阿里金融那位奶爸工程师,他的小孩估计已经上学,不知道ta是否知道,自己的哭声曾为中国云计算做出了不可磨灭的贡献。
当年阿里云迷失时离开它的工程师,早已有了新的彼岸,不会回头怀恋。但如今全世界上百万台计算机里,也许仍旧燃烧着他当年手书的一行行代码。
当年直言敢谏怀疑云计算的淘宝工程师们,后来很多都心甘情愿地成为了云的忠实拥趸。在他们眼里,从来只有对错,没有私利。
当年那位因为眼尖发现配置错误,从而让阿里云完美扛下“双11”的工程师,也许并不觉得,自己曾经在平行宇宙的岔路口,轻轻拨动了云计算的命运轮盘。
而正在看文章的你,可能也并没意识到,当年你在12306上订票,在地铁站刷卡,在“双11”剁手,在“熊猫TV”上看直播,在支付宝上交水电费,这一切瞬间,都如细小的刻刀,十四亿刻刀组合起来,便雕刻出了中国云计算的模样。
2022年春天,杭州城一片白茫茫。
两场大雪,恍然合成一扇冰封的大门,连接两次奥运之间的十三载光阴。只是如今,世界并未大好,你我却都不再少年。
生活即是如此,无数人倒下,走散,但也会有人选择留在此地,薪火相传。
如长河东展,寥寥岸头,有人影来了又走,走了又还。但如果把时间的底片一张张叠起,你会看到一人独立,三五对谈,人影幢幢,终至鼎沸喧然。
也许一代人终将老去。
但他们营建的花园里,正有孩子追逐嬉闹。
参考阅读:
再自我介绍一下吧。我叫史中,是一个倾心故事的科技记者。我的日常是和各路大神聊天。如果想和我做朋友,可以搜索微信:shizhongmax,也可以关注微信公众号:浅黑科技:qianheikeji
1. 引言 MoS2,隶属于六方晶系,有1T,2H和3R三种晶体结构。如图1所示,1T-MoS2结构的八面体配位,具有金属性,属于亚稳态结 ...