上云十年:阿里云的奇幻漂流
现代人的生活是不缺乏刺激的。我们总能在电影院或化身“沙发土豆”,作为旁观者,与凤凰社、夜魔侠、蜘蛛侠等诸多主角们经历了一场场“安全的冒险”,体会他们挣脱束缚的破釜沉舟,欣赏他们踏上未知冒险的勇气。
回到真实的商业故事中,很少有人会将阿里与“困境”这样的字眼联系在一起,尤其是在花团锦簇、全民狂欢的双十一之后。
但少有人知道,这场剁手党的“春晚”,却是技术人眼中冰峰林立、人迹罕至的“珠穆朗玛峰”。而阿里云的工程师们,刚刚经历过一场大汗淋漓的搏斗。
极致双11:阿里云的技术攀爬
11月11日0点,阿里云的数据显示,双11订单创建峰值达到了54.4万笔/秒。这个“数据海拔”有多恐怖呢?
面对这个全球最大规模的流量洪峰,就连在商海身经百战的阿里巴巴CEO张勇,都有点“上头”。
当天他坦诚道,自己心里最关心的,不是销售数字,而是整个技术的峰值。“我们能够每秒钟支撑多少笔订单的处理,既不发生钱的错误,又不发生错误的库存,被错误地记录,这个才能保证整个商业顺畅运转。”
而这些沉甸甸的指标,被百分之百地押注在了阿里云上。就在两个月前,阿里巴巴将数以十万计的物理服务器从线下数据中心迁移到了云端。
双11核心系统全部云化,意味着什么?
意味着,当有客户问起,“你们阿里巴巴自己的业务也跑在阿里云上吗??”“没错,全部都在,包括双11”——阿里云终于可以这样回答了。
意味着在中国鲜少能抢到“首发权”的技术高岭地带,亚马逊、微软、谷歌等云计算巨头都没能实现的壮举, “飞天”首次实现了!
而从100%依托海外厂商(数据系统),到100%的自研云,“飞天”这艘巨舰航行了整整十年。
它是如何在充满危险与未知的商业大海中远征,跨越一个个暗礁生存下去的,或许会是双11之后,另一场人人都会极有代入感的大冒险。
使命召唤:少年阿里的“飞天”远征
所有英雄电影的开头,主角们总能凭借一个神秘的召唤,打开人生试炼的序幕。
而阿里的云计算远征,开场并没有那么多玄幻和浪漫。它源于一笔锱铢必较的经济账——彼时阿里巴巴的IT架构,淘宝和支付宝等核心业务都架设在大量IBM小型机、Oracle数据库,以及EMC、戴尔存储设备之上。
一台“小机”要几十万到百万人民币,数据库软件费更高达数千万,加上维护费和其他支出,普通人掰掰手指都能想到,阿里高速发展的背后,是骇然的算力成本。
有什么具体影响呢?大概也就是钱哗哗地花出去了,消费者的用户体验也没能提升多少。
每天早上八九点钟,阿里的CPU(中央处理器)的使用率会涨到98%。就像电脑内存占用过多一样,用户浏览、下单、付款等操作的流畅度总令人心惊胆战。
阿里的流量还在以十倍二十倍的速度狂飙,就连IBM这些IT界的“金字招牌”,也从来没有应对几亿人访问规模的经验。以后该怎么办?阿里只能自我救赎。
2008年9月,王坚从微软出走,来到了西湖。此后,他最广为人知的身份之一,不是阿里首席架构师,而是“忽悠马云的骗子”。因为,他笃定云计算是未来。
马云并不懂技术,他没听懂王坚讲的那些技术优势,也不了解云计算背后到底是什么。但他听懂了一点,不上云,光是继续买服务器就足以让阿里破产。而这,也将是此后数年间中国绝大多数企业要面对的共同难题。
既然别无选择,凭着一句“使命召唤”,王坚带着从微软过来的几个旧部,和林晨曦紧赶慢赶才招兵买马的“水手们”,从零开始,迈出了云计算大冒险的第一步。
2008年10月,一艘载着中国云之梦的船只被定名为“飞天”,正式展开了风帆。
打开魔盒:
“去IOE”,阿里云迎击的第一只巨兽
我愿意以《少年派的奇幻漂流》,来看待“飞天”的起航。
李安导演以派(π)这个无理数当做少年的名字,预示着人生旅途中即将遭遇的一切未知。这与“飞天”团队当时的境况何其相似。他们都遥望着大洋彼岸的美丽新世界,但航程中势必充满了可能被挑战、被拒绝、以及充满未知的要素与技术规律。
茫茫大海,掌舵人必须要规划航线。2009年9月,“阿里云”以子公司的身份正式亮相,它接收了命运派送的第一个重大任务盒子,放出了“去IOE”这头“巨兽”。
今天看来,这是个潘多拉魔盒,里面装着麻烦与幸福的种子,同样也有着希望和力量。
所谓的“去IOE”,就是采用自主研发和替代性方案来重构阿里的数据系统,以摆脱过去对IBM小型机、Oracle数据库和EMC2存储设备这“三大件”的依赖。
胜利的奖赏将非常丰厚,一方面能帮助阿里巴巴节约非常可观的运营成本;同时有望成为帮助众多中小企业降低技术应用门槛的“基础设施”。
但“巨兽”的铠甲也同样坚硬。“去IOE”,不仅要将传统的集中式系统架构全部改为云计算的分布式架构,还要确保业务跑在上面,性能和稳定性能够超越IOE。
除了自研技术本身相对稚嫩之外,当时的“飞天”团队,手里现成的武器只有两把——一个是以开源软件为基础的数据计算系统“云梯1”,和以“飞天”为基础、完全自研云计算系统的“云梯2”。
两套系统都需要内部测试。林晨曦先找了淘宝技术团队,拼命“卖安利”。负责人同意了,但底下的Oracle 工程师一听就急眼了——这岂不是砸自家兄弟的饭碗吗?!
差点引发人员动荡的“内部试用”,最终在各方的讲事实摆道理前得以顺利开展。但拆掉了传统的IOE,自研架构就真能顶上了吗?
恐怕连王坚都不敢打包票。
“明明可以坐高铁,却偏偏要骑自行车去上海”——这是当时阿里内部工程师们对“飞天”的普遍看法。
被强行赶鸭子上架的,恰恰是最“赶时间”的阿里金融。马云亲自跟时任阿里金融的胡晓明下了任务书——必须将系统架构搭建在阿里云上。
稳定性要求极其严格的金融系统,如何与初生的“飞天”(Apsara)平台融合,打造一个“去IOE样板”?“牧羊犬”计划就这样诞生了。
中间有许多“打怪”的有趣细节,堪称技术界的“吐槽大会”:比如问题层出不穷,系统总爱出错,“分布式计算”也被调侃为“分步试计算”。又比如工程师必须24小时紧盯着系统,“人肉云计算”由此得名。
戏谑的背后,是阿里云的“至暗时刻”。不少集团员工质疑这个业绩常年垫底的子公司为何还要继续存在,许多“飞天”战友也在长久的攻坚战前倒下,出逃的出逃、转岗的转岗,2012年的阿里云“共创会”上,王坚甚至摔了话筒。
好在故事的结尾,以喜剧收场。
在一次较大的升级之后,“飞天”系统稳定得“不像是阿里云的作品”。2012年底,王坚将“飞天奖”颁给了阿里云的全体员工,颁奖词是——坚持就是伟大。
这一坚持,就坚持到国内云市场爆发,阿里云成为数万个网站、游戏和应用的承载者,“去IOE”这只历史的大boss也最终倒下。2013年5月,阿里最后一台小型机下线。7月,淘宝最后一个Oracle数据库下线。
这场战役中,“飞天”和阿里云奇迹似的活了下来。
由一入多:阿里巴巴的集体“登月”
刚推倒boss的兴奋没有持续多久,阿里云的探险家们又刷新出了一张刺激无比的“新地图”。
2013年,正式完成“去IOE”运动的阿里云意气风发。但记性好的同学一定还记得,前面我们提到的阿里云“两板斧”——基于开源Hadoop的云梯1和基于飞天的云梯2(此时已经改叫ODPS)。
在垦荒阶段,左右开弓是个不错的选择。不过3012年了,也是时候搞搞“精细化”运营了。不然两边分别投入,家大业大也经不起这么造啊。
选A还是选B,成为阿里技术的关键选择。答案大家已经知道了,那就是——自主可控的飞天。
经过研发团队数月的优化和开发,ODPS顺利实现5K升级,也就是5000台规模集群投入运营,这项技术究竟有多厉害呢?在当时,创造了计算100TB排序只需30分钟的新世界纪录。
与此同时,“云梯1”也逐渐向ODPS迁移。于是到了2013年底,更加强大的“飞天”和ODPS服务正式一统江山,并开启了自己的新征程——登月计划。
以“登月”来形容其难度,并不夸张。因为任务目标——用“飞天”系统打通阿里巴巴和小微金服的所有事业部,让流淌在各个业务中的数据实现“大一统”,当时即便是Amazon和google都没有在自家的业务集群中实现。
如果我们用真实世界中的方式来拆解这个项目,会发现它分为三个步骤:
首先,统一化数据平台。“登月计划”设计搜索、广告、物流等多个数据源必须先实现系统化的统一;
其次,将其送上当时算力领域的“土星五号火箭”——ODPS。
最后,各个业务组件需要在极高的相对运动速度中,被无缝衔接,实现平稳着陆。
内部的迁移固然困难,但水滴石穿,最终完成了这个壮举。到2014年的时候,阿里云不仅承载着阿里巴巴集团自身的诸多线上业务,还正式将ODPS开放,并进军国际,与亚马逊AWS在海外云计算市场狭路相逢。
要驯服这头名为商业的“猛虎”,就需要新的秘密武器了。
以虎为邻:布道者的AI试炼之路
如果要给2015-2017这三年想一个关键词,答案可能是AI。而云,成为阿里向产业输送智能的最佳管道。它的效力,在这三年间展现的淋漓尽致。
站在2015年的开端,当时已经跻身云计算前列的阿里云,面对一个两难的选择:一是“飞天”要俯下身去,拥抱广大中小微企业用户;二是阿里云要仰起头来,与全球云计算巨头一起冲击天顶技术。
但如何拥抱?天顶在哪儿?
要知道,在服务公有云和私有云用户的过程中,阿里云的数据规则和计算能力在持续优化。2015年1月,12306网站将春运高峰的75%余票查询业务切换到了阿里云上;10月,阿里云又用不到7分钟(377秒)的时间,完成了100TB的数据排序竞赛。
阿里云“飞天”分布式计算系统的性能与可靠性,已经毋庸置疑。接下来去往哪里?AI,就在这时登场了。
2015年的时候, AI能做什么、会改变什么,产业端一脸蒙圈。直到2016年4月,阿里云在年会上展示了实时语音识别技术,并现场战胜了世界速记大赛亚军得主姜毅,这是阿里云人工智能ET的前身,也是阿里AI的起点。
2019年的云栖大会上,一张阿里云的技术图谱震惊了现场的所有人。从AI芯片含光800,到“飞天”AI平台,再到各种垂直智能应用模块,软硬件、云端芯,想要哪里点哪里。然而当我们将时间倒回到三年前,会发现当时的阿里AI是如此稚嫩,又震惊于它成长的如此快速。
2016年8月9日的云栖大会,阿里云只推出了一款AI——人工智能ET。它的技能也远没有现在丰富,模仿马云说话、图像识别、交通预测等,今天看来显得有些原始,在当时却迅速激活了产业对AI的价值想象。
原来除了无人车、阿尔法狗,AI还能帮助城市治堵、农场养猪、工厂升级?2016年9月,ET城市大脑落户杭州萧山,将道路车辆通行速度平均提升了3-5%,云服务的边界迅速浦沿。
次年,阿里云ET更是势不可挡,一口气搞出了工业大脑、医疗大脑、环境大脑,将AI的触角深入到了许多“重产业”。
阿里云拓展了AI的边界,AI也改变着云服务的商业模式。非网络客户的信息化能力相对较弱,能否把各种算法打包成现成的模型和解决方案?软件好用,硬件该怎么铺,如何节省成本?小微商户也想上云,更加微量级的按需购买能不能实现?
众多新的问题袭来,专注“吃软饭”的阿里云必须向更高的科技树继续攀爬了。那些等待点亮的技术名词,有量子计算、芯片技术、嵌入式系统等等。
驯服商业与技术这两头猛虎的过程中,阿里云也逐步成为了阿里巴巴征战智能时代的最大希望。
中场对决:勇者和神龙的“虚拟化”故事
故事讲到这里,大家似乎可以发现,“阿里云”这位主角总能在危与机之间顺利逃出生天,似乎并没有遇到什么“极限挑战”——这很不英雄。
放心,“绝境”可能会迟到,但绝不会缺席。铸造了阿里巴巴集团商业神话的“双十一”,也是阿里云的“绝望时刻”。
作为全球仅此一家有资格挑战这种极限场景的平台,双11之于阿里云,就像少年派所途径的岛屿,它是如此壮阔而美丽,各种奇幻的水下生物游来逛去,静谧的大海与夜空的繁星交相辉映,派的小船如同停靠在一个美好的梦里。
不过,梦里可没有宕机。
要把危机四伏的双十一练兵场,变成自己的高光舞台,而不是打脸现场,真的有点困难。
等等!前面说好的全集团业务上云呢,怎么还遗漏了个双11,难道阿里“登月”也成历史悬案了?!
没错,天猫和淘宝两位“阿里印钞机”,说不上就不上。
不怪它们太“作精”,尽管2016年的时候,阿里云的底层虚拟化技术,已经可以实现极端场景下10%的性能损耗。但对于电商业务,尤其是双11来说,这依然是不可接受的。
10%意味着什么?就是双11的20亿预算,白白损失了2亿,有这点钱捐给我(划掉)给用户发红包不好吗?
“能不能把虚拟化的损耗降到0?”——2016年双11结束后,阿里巴巴CTO行癫在复盘会上一锤定音。
这意味着他们要解决至少三个问题:1.在虚拟层达到和物理机一样的性能;2.满足用户灵活部署的需求;3.虚拟化的同时保证硬件隔离与安全。
同时具备物理机和虚拟机的双重优势,这可能吗?2017年云栖大会上,阿里云突然就召唤出了“神龙”这头“性能怪兽”。
“变态”如阿里云,终于从驯龙走向了造龙。他们为这条龙搭建了全新的骨架,采用裸金属的虚拟化,设计了专用的芯片、主板以及MOC卡,调度性能更高的虚拟化中间层,再注入配套的整套软件,“神龙”就这样上天了。
“奶爸们”也毫不留情,让这条刚出生两个月的“奶龙”正面迎上了双11的狂风暴雨。2017年,天猫双11正式登上公有云,“神龙”完成了绝无仅有的一次巅峰压力测试,实现了每秒32.5万笔交易峰值,每秒25.6万笔支付峰值。
养成之路就此开启。为了让损耗无限接近0,工程师们需要挑战的是将原本虚拟化切分时所消耗的计算也塞进MOC卡里。得,又得继续搞新硬件了。
所以到了2018年,神龙2.0有了更强大的虚拟化算力。单挑双11不在话下,眼看“神龙”的日子刚刚过的有点滋润,行癫又不乐意了。
2019年春节刚过,他给“奶爸们”下了新的任务——全集团不再购进一台物理机,今年双11,让这条龙把全集团的算力撑起来。
龙生艰难,工程师们不得不对其进行了极致改造——神龙芯片IO加速,弹性计算平台架构,软硬一体化的安全防护,最终当第三代神龙与我们见面时,它已经接近于“龙生巅峰”——不仅损耗接近零,性能还比上一代提升了5倍。
不能下单、网络崩溃、支付卡顿等情况,再也没有出现在双11现场,背后最大的支撑,就是来自技术的洪荒之力。
伴随着“神龙”将双11挑落马下,至此毫不夸张的说,阿里云已经成为阿里巴巴集团名副其实的产业基柱。
十年阿里云:英雄归来与再出发
英雄的历险,至此,达到了一个短暂的尾声。
阿里云这群“技术宅”,似乎非常青睐神话所传达的浪漫情怀,从他们为飞天内部模块的命名就能看出来:阿里云的操作系统叫“飞天”,存储系统叫“盘古”,调度系统是“伏羲”,而网络通讯则是追日“夸父”。
而我觉得他们更像是童话故事中远方的少年,当他们拿到地下魔鬼城中的宝物、龙怪宝库中的金子、巨人看守的金羊毛,未来还将走向新的探险。
十年,对于阿里云来说作为“成年礼”还有些早,但锻造它的此间少年们已经经历了各种考验,征服了双11的洪流(但谋杀了我们的钱包),以无名英雄的身份,现实归来。
从一穷二白到核心系统100%上云,这一刻的到来,也意味着阿里云有能力去应对商业世界任何复杂的技术挑战。
在观看英雄电影时,我们总是青睐那些面对困境死磕到底的人设,虚幻的故事尽管生动,却始终缺少代入感。但阿里云这群少年们的奇幻漂流却不同,因为有上亿人,都在跟他们一起冒险,并且快乐归来。这背后的时代意蕴,是更具生命力的都市神话。