上云十年:阿里云的奇幻漂流

现代人的生活是不缺乏刺激的。我们总能在电影院或化身“沙发土豆”,作为旁观者,与凤凰社、夜魔侠、蜘蛛侠等诸多主角们经历了一场场“安全的冒险”,体会他们挣脱束缚的破釜沉舟,欣赏他们踏上未知冒险的勇气。

回到真实的商业故事中,很少有人会将阿里与“困境”这样的字眼联系在一起,尤其是在花团锦簇、全民狂欢的双十一之后。

但少有人知道,这场剁手党的“春晚”,却是技术人眼中冰峰林立、人迹罕至的“珠穆朗玛峰”。而阿里云的工程师们,刚刚经历过一场大汗淋漓的搏斗。

极致双 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% 上云,这一刻的到来,也意味着阿里云有能力去应对商业世界任何复杂的技术挑战。

在观看英雄电影时,我们总是青睐那些面对困境死磕到底的人设,虚幻的故事尽管生动,却始终缺少代入感。但阿里云这群少年们的奇幻漂流却不同,因为有上亿人,都在跟他们一起冒险,并且快乐归来。这背后的时代意蕴,是更具生命力的都市神话。

来源:微信公众号-脑极体

posted @ 2019-11-13 12:08  云社区  阅读(...)  评论(... 编辑 收藏