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

naojiti發表於2019-11-12

現代人的生活是不缺乏刺激的。我們總能在電影院或化身“沙發土豆”,作為旁觀者,與鳳凰社、夜魔俠、蜘蛛俠等諸多主角們經歷了一場場“安全的冒險”,體會他們掙脫束縛的破釜沉舟,欣賞他們踏上未知冒險的勇氣。

回到真實的商業故事中,很少有人會將阿里與“困境”這樣的字眼聯絡在一起,尤其是在花團錦簇、全民狂歡的雙十一之後。

但少有人知道,這場剁手黨的“春晚”,卻是技術人眼中冰峰林立、人跡罕至的“珠穆朗瑪峰”。而阿里雲的工程師們,剛剛經歷過一場大汗淋漓的搏鬥。

極致雙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%上雲,這一刻的到來,也意味著阿里雲有能力去應對商業世界任何複雜的技術挑戰。

在觀看英雄電影時,我們總是青睞那些面對困境死磕到底的人設,虛幻的故事儘管生動,卻始終缺少代入感。但阿里雲這群少年們的奇幻漂流卻不同,因為有上億人,都在跟他們一起冒險,並且快樂歸來。這背後的時代意蘊,是更具生命力的都市神話。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561483/viewspace-2663806/,如需轉載,請註明出處,否則將追究法律責任。

相關文章