- 同讀一文
-
世事安穩(wěn),歲月靜好。
電影里才有瘋子。麥克墨菲在瘋?cè)嗽豪飵ьI(lǐng)一群精神病人揭竿而起,懟天懟地;餓了三天的黑皮為了搶一口面包被店主追上高架橋,末路狂奔;杰克和泰勒在午夜的搏擊俱樂部里揮拳相向,鮮血淋漓。屏幕對面,我們把爆米花塞進(jìn)嘴里,哭成狗或者笑成狗。電影散場,各自回家。
真正的瘋子,從來不看電影。
他們把別人的目光變成聚光燈,把自己的生活變成真人秀,手提鋼刀用肉身串演一個濃重的角色。他們的人生結(jié)局無外乎兩種:黃袍加身,或者玉石俱焚。
阿里云這群瘋子,就用56度的荷爾蒙,在橫跨十年的悠長畫布上涂抹了這樣一個故事。
2008年9月,王堅(jiān)加入阿里巴巴。
馬云把他從微軟亞洲研究院常務(wù)副院長的位置挖來,是因?yàn)榘⒗锇桶兔媾R一個重大的危機(jī)——公司的“腦力”快不夠用了。
阿里巴巴的“腦力”,其實(shí)就是“計(jì)算力”。
幾億用戶無論是在淘寶剁手,還是支付寶上轉(zhuǎn)賬,這一切都要靠巨大的計(jì)算力來思考、記憶。
恰恰和人一樣:
如果這個“大腦”記憶被填滿,就沒辦法儲存新的商品和交易記錄。
如果這個“大腦”思維速度跟不上,就沒有辦法讓用戶及時下單、付款。
2008年,中國雖然已經(jīng)加入 WTO,還把國際友人請來熱熱鬧鬧地開了一次奧運(yùn)會,但在科技領(lǐng)域仍然是個標(biāo)準(zhǔn)的“三無”國家:沒有自己的操作系統(tǒng),沒有自己的芯片,同樣沒有自己的計(jì)算力系統(tǒng)。所以,購買國外成熟的設(shè)備和系統(tǒng),幾乎是 BAT 和所有大國企的唯一選擇。
國外的東西,無外乎“IOE”這三樣標(biāo)配:
I(IBM,服務(wù)器提供商,他們提供的服務(wù)器俗稱“小型機(jī)”)
O(Oracle,數(shù)據(jù)庫提供商,他們的軟件是著名的“甲骨文商業(yè)數(shù)據(jù)庫”)
E(EMC,存儲設(shè)備提供商,他們提供的是“集中式存儲”)。
鮮有人知,那時的阿里像依賴氧氣一樣依賴 IOE。
一個支付寶的同事給了我翻出了當(dāng)年的數(shù)據(jù):2008年,在阿里的IT架構(gòu)中,淘寶和支付寶使用的絕大部分都是 IBM 小型機(jī)、Oracle 商業(yè)數(shù)據(jù)庫以及 EMC 集中式存儲。
當(dāng)年用戶激增,數(shù)據(jù)越來越多,每天早上八點(diǎn)到九點(diǎn)半之間,服務(wù)器的處理器使用率都會飆升到 98%。離爆棚就差兩個百分點(diǎn)。
阿里巴巴就像賽道上的跑車:速度飛快,但引擎已經(jīng)發(fā)紅,再踩幾腳油估計(jì)就要冒煙,后果不堪設(shè)想。
可能連馬云自己都沒有想到,阻礙阿里巴巴增長最迫切的阻力不是商場上的博弈、不是政策的變化,而居然是 IT 基礎(chǔ)設(shè)施的瓶頸。
怎么辦?花錢繼續(xù)買服務(wù)器和軟件?。?/span>
這話聽上去沒錯。但是有兩個小問題:
一個問題是太貴。
那時候小型機(jī)價格大概是從幾十萬到百萬人民幣;商業(yè)數(shù)據(jù)庫軟件費(fèi)用差不多幾千萬,外加一大筆維護(hù)費(fèi)。王堅(jiān) 08 年剛來阿里時就給馬云算了算,按照這樣的速度“剁手”,光是買機(jī)器和軟件就足夠讓阿里破產(chǎn)。阿里得找到一種成本更低的技術(shù)架構(gòu)。
另一個問題是不好用。
阿里在08-09年的時候,業(yè)務(wù)增長速度實(shí)在太快。每年都是十幾二十倍,IOE 雖然都是美國公司,但事實(shí)證明美國的月亮也不會更圓。它們的系統(tǒng)并沒有經(jīng)受過服務(wù)幾億人這么大規(guī)模的考驗(yàn),此時已經(jīng)變得非常難用了。
2008 年中旬,馬云召開了內(nèi)部會議。事情已經(jīng)刻不容緩,要研發(fā)一套新的技術(shù)架構(gòu)來換掉阿里巴巴的舊引擎。
這個新的計(jì)算架構(gòu)應(yīng)該是什么樣呢?
首先,它要便宜。
就像一日和三餐一樣,無論去哪家餐廳,都不如自己做飯更實(shí)惠。長遠(yuǎn)來看,自己開發(fā)一套計(jì)算架構(gòu)顯然是最經(jīng)濟(jì)的。
其次,要好用。
為了滿足阿里巴巴龐大的計(jì)算任務(wù),這套系統(tǒng)至少要比 IOE 表現(xiàn)更好,能同時調(diào)度數(shù)千臺計(jì)算機(jī),組成一個巨大無比的“大腦”。
于是,“阿里云”這個詞,第一次出現(xiàn)在公司高層的話語里。而王堅(jiān),加盟阿里巴巴之后的職務(wù)恰恰是“首席架構(gòu)師”,他的使命就是從零開始建立這個云計(jì)算系統(tǒng)。
王堅(jiān)
王堅(jiān)是個理想主義者。
在豐滿的理想中,這個新架構(gòu)的每一行代碼都要自己來寫。但現(xiàn)實(shí)骨感:環(huán)顧四周,他身邊除了幾位從微軟帶來的舊部,幾乎一無所有。
2008年10月,這個想象中屬于中國的云計(jì)算系統(tǒng)被團(tuán)隊(duì)定名為“飛天”,源自中國神話中的形象。
后來人們說,阿里云是技術(shù)驅(qū)動型的企業(yè)。不過在我看來,最初阿里云應(yīng)該是起名驅(qū)動型的企業(yè)。名字倒是起得不錯,但作為“三無”國家,底層科技起步較晚的中國在對美國的復(fù)雜計(jì)算機(jī)系統(tǒng)的戰(zhàn)爭中,幾十年都未嘗勝績。
中國人研究的云計(jì)算,會“飛天”還是“墜毀”,旁人心里多多少少是有判斷的,只是不便明說。
說回這個瘋狂的計(jì)劃。
飛天相當(dāng)于一個發(fā)動機(jī)的,而時間緊迫,阿里巴巴準(zhǔn)備同時做兩件事:一邊制造發(fā)動機(jī),一邊為自己的主力業(yè)務(wù)淘寶網(wǎng)順便造一個整車出來。
當(dāng)時,淘寶網(wǎng)在計(jì)算力方面的主要需求就是“大規(guī)模數(shù)據(jù)計(jì)算”。所以,用飛天為淘寶造“大規(guī)模數(shù)據(jù)計(jì)算”制造整車的計(jì)劃就被定名為“云梯計(jì)劃”。
實(shí)際上,“云梯計(jì)劃”關(guān)乎阿里的生死,不是兒戲。思來想去,公司內(nèi)部還是做了兩手準(zhǔn)備:
1)用一些已有的開源軟件為基礎(chǔ),研發(fā)一個數(shù)據(jù)計(jì)算系統(tǒng),這是“云梯1”計(jì)劃。
2)而以“飛天”為基礎(chǔ),純自研一套數(shù)據(jù)計(jì)算系統(tǒng),被定為“云梯2”計(jì)劃。
彼時絕沒人想到,五年后的那個下午,這兩座通向頂峰的云梯會用怎樣的姿態(tài)占據(jù)畫面的中心。千軍萬馬雄列兩旁,目睹榮耀的火焰和退潮的海水。
歷史就這樣以洶涌的姿態(tài),向那些準(zhǔn)備好的和沒準(zhǔn)備好的人敞開。
2009年
阿里云成立
滿弓是里的第六位工程師。
招他進(jìn)來的,是王堅(jiān)在微軟的舊部,阿里云的第一技術(shù)負(fù)責(zé)人林晨曦。面試結(jié)束時,林晨曦歪嘴一笑,提醒滿弓:“你加入阿里云之后,要做好隨時出差的準(zhǔn)備。”
果然,滿弓簽完入職合同當(dāng)天下午,就被“附贈”了一張火車票。他要去天津幫助招聘。
滿弓這樣回憶十年前的那個下午:
“阿里研發(fā)院” 2008年10月才成立,已經(jīng)錯過了招聘季的黃金時期。但是我們又確實(shí)太需要人才了,于是刻不容緩,要再掃蕩一下那些大學(xué),把“漏網(wǎng)之魚”打撈回來。
2009年
阿里云的招聘海報(bào)
跟著阿里云的招聘隊(duì)伍,滿弓跑遍了全國主要的幾大城市十幾個學(xué)校。每到一個學(xué)校,只呆三天。
第一天做宣講,然后馬上筆試;第二天統(tǒng)一面試;第三天發(fā) Offer。
彼時的阿里巴巴已經(jīng)很有名氣了。很多錯過招聘季的同學(xué)喜出望外,一時間各大學(xué)校風(fēng)起云涌奔走相告齊來應(yīng)聘,雖然從招聘者到應(yīng)聘者,都沒見過云計(jì)算長什么樣子。
由于招聘人手實(shí)在太少,面對堆積如山的筆試試卷,滿弓他們根本判不過來。焦頭爛額的滿弓擦汗時一回頭,看到了同行的 HR 小姐姐。滿弓兩眼放光,二話不說把她們揪過來,一晚上就教會了她們?nèi)绾闻芯怼?span lang="EN-US">
當(dāng)時判卷的場景
經(jīng)過這樣“連滾帶爬”的招聘,到了2008年年底,阿里云湊夠了了三十位工程師。
話分兩頭。
下有林晨曦招兵買馬,上有王堅(jiān)每天“畫餅”。
馬云深受王堅(jiān)鼓舞。雖然不懂技術(shù),但是他逐漸發(fā)現(xiàn),云計(jì)算這件事情的價值比一開始想象中的要大得多。
這是因?yàn)樵朴?jì)算系統(tǒng)會制造出一種具有極強(qiáng)彈性的計(jì)算力。這樣的計(jì)算力一方面可以為阿里巴巴添置家當(dāng),另一方面還可以“批發(fā)零售”給無數(shù)中小企業(yè),為未來世界建設(shè)了一整套“基礎(chǔ)設(shè)施”。
這樣來看,就把“獨(dú)善其身的工具”變成了“兼濟(jì)天下的生意”,這不正是馬云創(chuàng)建阿里巴巴的基本信念嗎?
從這一刻開始,馬云就對阿里云寄予重望。只要有空,就到阿里云的團(tuán)隊(duì)里和林晨曦、滿弓這些工程師們一起聊天討論。
馬云、王堅(jiān)
和工程師們的合影
然而,事情發(fā)展到這里,就開始有些錯位了。
阿里的很多的業(yè)務(wù)部門希望的是穩(wěn)定地在現(xiàn)有系統(tǒng)上加以改進(jìn),最好別冒太大風(fēng)險(xiǎn);
但飛天團(tuán)隊(duì)卻黃巾高擎赤膊上陣左右開弓,想依靠一己之力,開發(fā)出一套改寫世界歷史,可以讓中國人揚(yáng)眉吐氣的完美云計(jì)算系統(tǒng)。
剛才我說阿里云是“起名驅(qū)動型的公司”,你看看這幫瘋子給飛天內(nèi)部模塊的命名,就知道他們心里在想什么了:
分布式存儲的系統(tǒng),就像大地一樣承載萬物,那就叫“盤古”。
調(diào)度系統(tǒng),需要“能掐會算”,就用懂得陰陽八卦的“伏羲”命名。
結(jié)構(gòu)化存儲系統(tǒng),就用會蓋房子的“有巢”。
網(wǎng)絡(luò)通信,就用追日的“夸父”。
等等。
飛天團(tuán)隊(duì)一片斗志昂揚(yáng)。
其他部門的很多領(lǐng)導(dǎo)層,用半信半疑外加慈愛的眼光看著他們。
時間不等人,轉(zhuǎn)眼到了2009年。
在隔壁淘寶網(wǎng)的普通員工中,有人在“隔江猶唱后庭花”,有人卻已經(jīng)感到“山雨欲來風(fēng)滿樓”。
2009年,小邪剛剛加入阿里一年,在淘寶網(wǎng)參與系統(tǒng)研發(fā)。當(dāng)時他和同事都感覺到,淘寶網(wǎng)面臨的矛盾非常明顯:
業(yè)務(wù)并不賺錢,09年只有一個季度勉強(qiáng)盈利。而賺來的這點(diǎn)錢,眼看都要填進(jìn)去購買服務(wù)器和軟件產(chǎn)品,入不敷出。
小邪記得很清楚,他昨天剛聽說隔壁阿里云準(zhǔn)備搞云計(jì)算,今天就迎來了一個“特殊的客人”。
林晨曦走到淘寶網(wǎng)技術(shù)團(tuán)隊(duì)面前,搬個板凳兀自坐下:“你們淘寶的大數(shù)據(jù)系統(tǒng)用我們的阿里云架構(gòu)吧。”
“代碼已經(jīng)寫了多少?”小邪問。
“幾行吧。”林晨曦說。
事情就這樣定下來了。
云梯1、云梯2,兩套系統(tǒng)一邊搭建,一邊在淘寶內(nèi)部實(shí)驗(yàn),一邊承擔(dān)部分計(jì)算任務(wù)以緩解現(xiàn)有系統(tǒng)不足的壓力。
當(dāng)時淘寶技術(shù)保障數(shù)據(jù)庫管理員的負(fù)責(zé)人是后羿。他幾次欲言又止,還是硬著頭皮在內(nèi)部會議上宣布了這個消息:淘寶要放棄 Oracle,轉(zhuǎn)投自研的數(shù)據(jù)庫架構(gòu)了。
結(jié)果,八十多個 Oracle 工程師把他堵在會議室里。“你再說一句試試?”
他們的憤怒完全合情合理。“如果上邊鐵了心要干,兄弟們的前途在哪里?”
最終,一場惡斗轉(zhuǎn)化成了幾十個工程師坐在會議室促膝談心。技術(shù)人是講理的:淘寶已經(jīng)這么大了,如果現(xiàn)在不刮骨療毒,自己砸自己的飯碗,將來整個淘寶都會命懸一線,到時候大家還不是淪落天涯。想通了這些,工程師們也冷靜多了。
這八十多個工程師里,包括后來的阿里技術(shù)保障部負(fù)責(zé)人振飛。振飛站出來說:“好,讓我們學(xué)新技術(shù)可以,但是咱們拿事實(shí)說話。你后羿敢不敢跟我打個賭?以三年為限,用新技術(shù)的淘寶核心交易系統(tǒng)必須達(dá)到零故障!”
后羿咬咬牙,敢!
但后羿一個人的分量還遠(yuǎn)遠(yuǎn)不夠重。畢竟淘寶上有這么多業(yè)務(wù),這么多買家,這么多賣家,萬一數(shù)據(jù)遷移失敗,誰來負(fù)責(zé)?時任淘寶技術(shù)總架構(gòu)師行癲(現(xiàn)任阿里巴巴 CTO)見狀,把心一橫,宣布自己和部門也愿意站出來,共同承擔(dān)技術(shù)風(fēng)險(xiǎn):“干好了我們大家榮譽(yù)等身,干壞了要?dú)⒁獎幬襾砜福?span lang="EN-US">”
看到行癲都賭上了自己的身家性命,也就沒人再說什么了。
2009年秋天,轟轟烈烈的 IT 架構(gòu)升級項(xiàng)目在淘寶網(wǎng)正式啟動。一群 Oracle 工程師,就這樣含著淚,一點(diǎn)一點(diǎn)親手拆毀自己安身立命的系統(tǒng)。
林晨曦用來“忽悠”淘寶網(wǎng)的“幾行代碼”,是在北京寫出來的。
2009年春節(jié)上班第一天,在北京上地的匯眾大廈203這間連暖氣都沒有的辦公室里,一幫工程師一邊口呼白氣,一邊敲出了“飛天”的第一行代碼。
飛天的第一行代碼
說起來,這個地方算是阿里云最早的辦公室,但是門口也沒個牌子。直到半年后他們搬出大廈,保安都不知道這幫神神叨叨的人究竟是干什么的。(不過十年后的今天,他們的手機(jī)里的很多 App 也許都跑在阿里云的服務(wù)上。)
每天,工程師們除了噼里啪啦寫代碼,還得順便“荒島求生”——自己訂水、買垃圾桶、修桌椅板凳、修無線網(wǎng),連茶葉和咖啡都是從自己家?guī)淼摹?/span>
不過,他們堅(jiān)信自己在做的事情還是挺偉大的。“沒準(zhǔn)將來我們成功了,我們寫的飛天第一行代碼還能印在T恤上呢!”角落里有人瑟瑟發(fā)抖地說。
那個時候的他們,看上去和一幫戴著眼鏡的教徒無異。
時間馬上又到了夏天。北京的夏天,你懂的。當(dāng)時測試系統(tǒng)的服務(wù)器就架在辦公室里,這就是個巨大的火爐。大廈的空調(diào)不行,還沒到七月份,程序員就熱得撐不住了。為了降溫,每天上午他們都叫冰場送兩大塊冰來。
有一次周六,馬云來北京,專門到阿里云的辦公室去看看。林晨曦趕緊想打開電腦給馬老師展示一下自己團(tuán)隊(duì)的成果。結(jié)果按了半天開關(guān),機(jī)器都沒反應(yīng)。他才發(fā)現(xiàn)大廈停電。。。馬云就這樣坐在辦公室等了半個小時,直到物業(yè)恢復(fù)供電才一睹阿里云飛天系統(tǒng)最初的芳容。
王堅(jiān)跟馬云說,這幫人很能干,每天晚上都加班。馬云驚了,在這種地方還能加班??沒過幾天,阿里云就搬出了這幢大樓,進(jìn)入了有空調(diào)的辦公室。
同事們往辦公室里運(yùn)冰
金融大咖胡曉明,2005 年加入阿里,以辦事雷厲風(fēng)行聞名全集團(tuán)。
2009年6月,馬云找到胡曉明,準(zhǔn)備交給他一個大任:內(nèi)部創(chuàng)業(yè),做阿里金融的總裁。
胡曉明信心滿懷,準(zhǔn)備擼起袖子說干就干。不料,馬老師悠悠地說,不要急,你要先答應(yīng)我兩件事。
馬云:第一件事,你只能做100萬人民幣以下的貸款生意,幫助像當(dāng)年的我一樣借不到錢的創(chuàng)業(yè)者。
胡曉明:理解,這沒問題。
馬云:第二件事,你必須跟剛成立的阿里云綁在一起,用他們的技術(shù)架構(gòu)支撐你的服務(wù)。
胡曉明:納尼??!!
這兩件事,胡曉明最終都答應(yīng)了。不過阿里云這幫看上去瘋瘋癲癲的人,他們技術(shù)到底靠不靠譜,胡曉明可是真沒底。
金融不像別的業(yè)務(wù),這可是一個數(shù)據(jù)都不能錯,一個字節(jié)都不能丟。按照“行業(yè)祖訓(xùn)”,打死都得用 IOE 這些國外大廠的基礎(chǔ)設(shè)施,現(xiàn)在可好,卻非得用聽上去就讓人懷疑的“阿里云”。。。
“明明可以坐高鐵,卻偏偏要騎自行車去上海。”當(dāng)時研發(fā)工程師王國濤的吐槽,代表了很多阿里金融同事們的心聲。
但馬老師肯定有馬老師的道理。阿里金融的同事們只能硬著頭皮跟阿里云的朋友們握握手。
“牧羊犬”是阿里金融的第一個產(chǎn)品,簡單來說就是給淘寶商家貸款的項(xiàng)目。吐槽王王國濤回憶:“當(dāng)時阿里云一邊搭建飛天平臺,我們就一邊在飛天上面開發(fā)牧羊犬應(yīng)用。這就像是開發(fā)商一邊在造房子,我們一邊在室內(nèi)裝修鋪地板。”
飛天果然不負(fù)眾望。
數(shù)據(jù)傳輸問題、計(jì)算穩(wěn)定性問題、處理速度問題一樣都不少,翻版篆版梅花版的錯誤層出不窮,各種 Bug 形式翻新,永不重復(fù),這叫一個皮。。。
阿里金融的工程師必須24小時盯著系統(tǒng),才能防止釀成大錯。當(dāng)時情況危急到了什么程度呢?一位奶爸工程師為了值夜班盯系統(tǒng),把自己小孩的哭聲設(shè)成了鬧鈴。因?yàn)橹挥新牭竭@個聲音,他才能在無論多困的情況下從床上彈起來。。。
這段時間,提到阿里云,阿里金融的程序員們都是“眼睛干干的,有種想哭的心情”。他們的經(jīng)典吐槽大概是這樣:人家的是云計(jì)算,我們家的是“人肉云計(jì)算”;人家的是“分布式計(jì)算”,我們家的是“分步試計(jì)算”。。。
作為合作伙伴,林晨曦每天的表情都有點(diǎn)兒尷尬,出則滿臉堆笑地幫阿里金融排除 Bug,入則愁容滿面地和同事們一起修改代碼。
眼看就要過春節(jié)了,兩個項(xiàng)目都快撐不住了。
被“豬隊(duì)友”坑得夠嗆的胡曉明氣鼓鼓地帶著核心骨干跑到王堅(jiān)辦公室門口“討說法”。胡曉明這個人,是出了名的“只要認(rèn)定的事情就一定要辦成”,大有在王堅(jiān)辦公室打地鋪靜坐的架勢。王堅(jiān)無奈,派出所有的技術(shù)工程師,駐扎在阿里金融的現(xiàn)場加班開發(fā),只為了“讓兄弟團(tuán)隊(duì)能過個好年”。
好不容易捱過了 2009 年,春節(jié)過后,阿里云發(fā)布了一次大版本升級。升級完成的一瞬間,空氣突然安靜了:
飛天系統(tǒng)穩(wěn)定得不像阿里云的作品。。。
阿里金融從一口口嗆水的狀態(tài),一下子沖出海面。
巨大的計(jì)算力讓阿里金融實(shí)現(xiàn)了“秒級”放貸。這種技術(shù)進(jìn)步讓“小額多次放貸”成為了可能,這就讓阿里金融幾乎等于開掛,不良貸款率大大低于傳統(tǒng)金融機(jī)構(gòu)。也正是因?yàn)榘⒗镌?span lang="EN-US">“高效低價”的加持,單賬戶每年的 IT 成本可以控制在1元以內(nèi)。
阿里金融,成為了后來的網(wǎng)商銀行。他們就這樣無意間成為了中國第一個上云的銀行。
胡曉明內(nèi)心OS:
寶寶心里苦,
但寶寶要笑
解決了穩(wěn)定性,阿里云就像抓住了救命稻草,總算可以暫時喘口氣。
這些成績,也已經(jīng)成功引起了其他公司的注意。于是 2010 年,在阿里巴巴出發(fā)兩年后,很多大公司紛紛著手研究自己的云計(jì)算技術(shù)。
但所有人都沒想到,有一只巨大的怪獸正在必經(jīng)之路上靜靜等待著。
這只怪獸名為“5K”。
你還記得“云梯1”和“云梯2”兩個項(xiàng)目嗎?此時,終于輪到他們唱主角了。
兩座云梯,就像“爭奪家產(chǎn)”的兩兄弟,規(guī)則很明確:
1、要想成功肩負(fù)起阿里巴巴的底層計(jì)算系統(tǒng),就必須有能力獨(dú)自調(diào)度 5000 臺服務(wù)器。
2、兩兄弟誰先跑到 5000 這根線,就“贏者通吃”,繼承家業(yè)。
而 5000 這個目標(biāo),就寫為 5K。
目標(biāo)就擺在這,但無論是“云梯1”還是“云梯2”,都死活達(dá)不到這個指標(biāo)。
李超是飛天伏羲調(diào)度系統(tǒng)的研發(fā)工程師。他用苦逼來形容自己的2010 到 2012。當(dāng)時他帶著同事們沒日沒夜地加班,收獲的就是一個接一個的系統(tǒng)錯誤。
就這樣,一年過去了,兩年過去了。
王堅(jiān)是一個性情溫和的人,但是那段時間,他幾乎天天跟團(tuán)隊(duì)拍桌子。
滿弓回憶,每次一開會大家都會把桌子收拾干凈,把水杯什么的拿走,以防出現(xiàn)“事故”。
我記得有一次博士(王堅(jiān))很生氣,砰砰地拍手機(jī)。有一個工程師實(shí)在受不了了,說博士,你拍的是我的手機(jī)。。。
現(xiàn)實(shí)不是小說。神兵天降和劇情反轉(zhuǎn)并不存在??v然他們幾乎嘗試了所有可能的技術(shù)策略,但就是沒有一種方案可以成功調(diào)度5000臺機(jī)器。
2012年底,以開源軟件為基礎(chǔ)的“云梯1”計(jì)劃實(shí)現(xiàn)了4000臺集群調(diào)度,而阿里云團(tuán)隊(duì)更看好的純自研的“云梯2”還在1500臺集群的數(shù)量徘徊。
越是困難時刻,越會產(chǎn)生分歧。
實(shí)話實(shí)說,當(dāng)時大多數(shù)的技術(shù)大牛,都覺得用經(jīng)過全世界驗(yàn)證的 Hadoop 為基礎(chǔ)的“云梯1”更有希望,對“云梯2”嗤之以鼻。而阿里云這幫人就是不認(rèn),因?yàn)楦鶕?jù)他們的推斷,Hadoop 在4K到5K的路上,肯定會遇到一個不可逾越的溝壑,于是倔強(qiáng)地帶著團(tuán)隊(duì)大舉投入“云梯2”。
在一片質(zhì)疑和爭吵中,“最寒冷的冬天”就這樣降臨了。
1934年到1936年,從蘇區(qū)出發(fā)到陜北會師,三年長征,工農(nóng)紅軍從8萬人銳減到3萬人。
從2010年到2012年,在阿里云最艱苦的長征三年,“戰(zhàn)損率”只多不少。
由于沒有成績沒有進(jìn)展,連續(xù)幾年阿里云整個部門都在集團(tuán)拿最低分。
滿弓、李超他們開始收到團(tuán)隊(duì)同學(xué)的辭職書,林晨曦也收到了部下的轉(zhuǎn)崗信。這些郵件,最終都一封不少地塞在王堅(jiān)的郵箱里。
一般來說,三年時間足夠判斷一件事情到底靠不靠譜。“世界末日”那年,人們幾乎已經(jīng)認(rèn)定了阿里云不可能做出一套云計(jì)算系統(tǒng)了。不僅如此,很多阿里的同事都叫王堅(jiān)“騙子”。開始大家還在背地里說,后來,大家都不再忌諱,公司里流傳著很多騙子王堅(jiān)的笑話。“一個學(xué)心理的博士居然當(dāng)上阿里巴巴的 CTO,心理學(xué)學(xué)得真好?。?span lang="EN-US">”
無論是“伏羲”還是“盤古”,這些開天辟地的名字,此時都成為了阿里云這些人要滿足“個人野心”的明證,成為了狂妄的代價,成為了“不自量力”的恥辱。
當(dāng)時內(nèi)網(wǎng)論壇里對阿里云和王堅(jiān)的吐槽
滿弓、李超、飛天總架構(gòu)師唐洪、林晨曦,他們每天都是低著頭上班。今天,左邊的工位空了,明天,右邊的工位空了。。。
“誰也不知道王堅(jiān)當(dāng)時幫我們抗了多大的壓力。。。”李超回憶起那段日子,只說了這么一句話。
眼看阿里云成立就要滿五年了,集團(tuán)里卻風(fēng)言風(fēng)語地傳著“阿里云要被撤掉”的消息。
某一天,馬云突然召集阿里集團(tuán)高管開會,所有業(yè)務(wù)部門的負(fù)責(zé)人都估計(jì)是馬云要宣布關(guān)掉阿里云的消息,于是紛紛帶上自己的技術(shù)負(fù)責(zé)人參會,準(zhǔn)備一聲令下,就瓜分阿里云的技術(shù)人才。
在 2012 年的阿里云年會上,王堅(jiān)走上臺,他緊緊攥著話筒,幾次抬眼望向遠(yuǎn)處,幾次欲言又止,最終泣不成聲。這個曾經(jīng)揚(yáng)言要用一己之力把中國云計(jì)算鐫刻在世界科技史上的“瘋子”,就那樣孤零零站在原地,面對臺下黑壓壓的一群錯愕的人。仿佛無數(shù)時間的列車在他眼前呼嘯飛逝,而他手里沒有握著任何一張車票。
這是阿里云故事里最為人所知的一個細(xì)節(jié)。但我猜很少有人記得,王堅(jiān)一邊哭,一邊說了什么。
他說:“這兩年我挨的罵甚至比我一輩子挨的罵還多。但是,我不后悔。只是,我上臺之前看到幾位同事,他們以前在阿里云,現(xiàn)在不在阿里云了。。。”
就像王堅(jiān)的一位老部下把辭職信交到他手里時,對他說的那樣:做云計(jì)算的感覺就像集體合圍抱一棵大樹,誰都知道最終大家的手會連在一起,但誰也不知道那一刻會發(fā)生在什么時候。真的真的對不起,我撐不住了。。。
如果把阿里云所有曾經(jīng)的員工加起來,可能是現(xiàn)在的好幾倍。有太多太多的人都在那段暗淡的日子里離開了。這不怪他們,任何一個能認(rèn)真判斷利弊的人,也許在那時候都應(yīng)該離開阿里云。也許只有“瘋子”,才會選擇留下。
就在阿里云最危急的時候,好友朱瓏找到林晨曦,鼓勵他離職創(chuàng)業(yè)。但林晨曦給朋友撂下一句斬釘截鐵的話:“現(xiàn)在我絕對不能走。如果你想等我創(chuàng)業(yè),先讓我把阿里云扶上正軌。”
阿里云苦苦撐著,人心飄搖,流言四起。
流言終于傳到馬云耳朵里。
“我每年給阿里云投 10 個億,投個十年,做不出來再說。”他對著阿里巴巴集團(tuán)所有人,斬釘截鐵地說。
這一句話,讓所有的流言順次平息。
在阿里云年會上,馬云做了這樣的獨(dú)白:
我知道,所有留下來的人其實(shí)是真正阿里云的精髓。
有的時候不是你技術(shù)有多強(qiáng),而是我們有多團(tuán)結(jié),互相多配合,多支持,多理解。
換任何一個公司,吃不消內(nèi)網(wǎng)上那么多人罵的,我有一段時間也是特別替大家難過,就像我罵兒子可以,我打兒子可以,不允許別人罵我兒子的,要不然我要翻臉的。
我沒有想過公司內(nèi)部對阿里云有那么大的意見,我真沒想到。但是你們都扛過來了,這是我深以為傲的,如果你們能抗得過內(nèi)部人罵,抗得過那么多人指責(zé),我們還有什么扛不過未來五年的發(fā)展?
李超給我看了這張照片。
這是當(dāng)年參加 5K 項(xiàng)目的同事。他說,這些人中現(xiàn)在只有十幾個還在阿里巴巴。
李超又給我看了另一張照片。
阿里云成立滿六年的時候,為所有從第一年走到現(xiàn)在的員工做了一個人偶。所謂的“所有”,只是眼前這五個人偶。滿弓和李超就在其中,他們相顧一笑。
這場長征,從摩肩接踵走到踽踽獨(dú)行。年輕的人們?yōu)榱斯餐膲粝胂嗷嘏?,又難免為了各自的夢想互道珍重。只是那些曾經(jīng)鮮活的伙伴,就這樣成為離去的背影,越走越遠(yuǎn),消失在視野里,也消失在生命里。
再多情的看客,恐怕也難解其中滋味。
阿里云的神坑,不僅“坑”了胡曉明的阿里金融,也在“坑”淘寶網(wǎng)。
之前說過,淘寶網(wǎng)從2009年就開始了“云梯計(jì)劃”。到了 2012 年,局面變得有些尷尬:
1、無論是云梯1和云梯2,都沒有沖上云計(jì)算的技術(shù)標(biāo)準(zhǔn):5K 的規(guī)模。
2、雖然沒達(dá)標(biāo),但是淘寶網(wǎng)沒有選擇,只能“趕鴨子上架”,讓兩架還在試驗(yàn)中的云梯承擔(dān)一些重要負(fù)載。
被刀架在脖子上的行癲心急如焚。
2013年3月28日,一封來自集團(tuán)技術(shù)保障部架構(gòu)師云錚的郵件直達(dá)高層:
按照數(shù)據(jù)增量與未來業(yè)務(wù)增長的情況,云梯1和云梯2兩套系統(tǒng)的存儲和計(jì)算能力將在今年6月21日到達(dá)瓶頸。
到那時,數(shù)據(jù)業(yè)務(wù)將會停滯,淘數(shù)據(jù),量子能業(yè)務(wù)都會受到影響;阿里金融的貸款業(yè)務(wù)將因?yàn)闊o法進(jìn)行信用數(shù)據(jù)運(yùn)算而中止。
這一天終于來了。人們洪水般的“買買買”為阿里巴巴劃定了 Deadline。要想維持正常的業(yè)務(wù),他們必須在不到三個月的時間里解決問題。
這個時候,把飛天推上 5K,幾乎已經(jīng)是唯一的選擇了。事到如今,這已經(jīng)不是阿里云自己的戰(zhàn)斗,而是整個阿里巴巴集團(tuán)的“背水一戰(zhàn)”了。
在這個關(guān)頭,阿里云需要集團(tuán)所有人的幫助。
各個部門的技術(shù)大牛迅速組成增援大軍列立山頭,旌旗飄揚(yáng)。但是在進(jìn)入戰(zhàn)斗序列之前,一個糾纏了各路大神五年恩怨情仇的問題必須有個了斷:
最初,因?yàn)橐鰞墒譁?zhǔn)備,以 Hadoop 為基礎(chǔ)的“云梯1”和以飛天為基礎(chǔ)的“云梯2”一直并行。這個時候,時局已經(jīng)緊迫到不允許團(tuán)隊(duì)分流,他們必須拋棄掉一個云梯。
拋棄哪個?
云梯1,依靠開源技術(shù),更加成熟,但幾年的實(shí)踐證明,把它推到 5K 有明顯的的技術(shù)瓶頸。而且,最核心的技術(shù)轉(zhuǎn)向開源系統(tǒng),也許會讓阿里巴巴在未來遇到更多技術(shù)制約;
云梯2,自研技術(shù),難度更大,但它的架構(gòu)和代碼都是基于阿里自身訴求而設(shè)計(jì)的。自主可控的 5K 一旦成功,就會打下阿里巴巴下一個十年的江山。而一旦失敗,后果也將不堪設(shè)想。。。
此時做出任何抉擇,都會徹底改變阿里巴巴的歷史。但歷史又只在彼時彼刻給阿里巴巴一次機(jī)會,開弓沒有回頭箭。所有人的目光都看向王堅(jiān)。
王堅(jiān)說了兩個字:“飛天!”
再沒有一句質(zhì)疑,再沒有一絲埋怨。那些曾經(jīng)看好或者不看好飛天的技術(shù)大牛,這個時候擼起袖子一齊殺了進(jìn)來。
核心技術(shù)系統(tǒng)的正明團(tuán)隊(duì),全員投入 5K 的攻堅(jiān)戰(zhàn);負(fù)責(zé)應(yīng)用集測測試的許咼兢,在得知調(diào)度系統(tǒng)的日志自動收集和分析工具缺口嚴(yán)重,二話沒說主動請纓;褚霸、多隆、長仁這些分散在各部門的的技術(shù)牛人也都沖進(jìn)來了。各路神仙在這幾個月親近得不分彼此。
褚霸回憶當(dāng)時的場景:“早上9點(diǎn)進(jìn)入項(xiàng)目,11點(diǎn)我們就開始解BUG。”
就連在電梯里,都會人問阿里云的同事“最近怎么樣?需不需要幫忙?”他們來自一些兄弟團(tuán)隊(duì),有負(fù)責(zé)安全的,有負(fù)責(zé)集成測試的。
阿里云自己的同事更是全力沖刺。
新員工剛剛?cè)肼?,就立刻被派?span lang="EN-US">“戰(zhàn)場”。本來是北京分公司的員工,入職之后直接拉到杭州幫忙 5K 項(xiàng)目。都加入公司兩個月了,還不知道自己北京的工位在哪里。
而一位叫做李泉的同事,連續(xù)幾個禮拜連軸轉(zhuǎn),半夜兩三點(diǎn)被叫起來解決問題,早晨八點(diǎn)又出現(xiàn)在工位上。被同事封為“李鐵人”。
在最后的測試階段,杭州和北京兩個辦公室的同事電話24小時通著,人可以輪班休息,電話不能掉線,那部用來接聽的電話都燒得滾燙。
就這樣,一行行代碼累積起來,在賽博世界的疆土上一眼望不到邊界。他們交錯重疊,像從白堊紀(jì)開始慢慢累積的地層。直到這片大陸,終于浮出海面。
2013年6月底,5K進(jìn)入了最后的穩(wěn)定性測試。
怎么測試系統(tǒng)的問題定性呢?之前帶領(lǐng)“八十勇士”圍攻后羿的振飛,提出了一個真·鋼鐵直男的測試辦法:拔電源。
他的理由是:“如果這種突然暴力斷電都能撐得住,阿里云還有什么不穩(wěn)定的呢?”
拉電的同學(xué)反復(fù)問了三遍:拉嗎?拉嗎?拉嗎?最后才顫抖著雙手拉下了電源。
這一刻,時間停止了,只有機(jī)器重新啟動的聲音。
四個小時以后,當(dāng)系統(tǒng)完全恢復(fù)運(yùn)行的時候,很多阿里云同事的背后,已經(jīng)被冷汗打濕了。經(jīng)過系統(tǒng)自檢,一切正常。雖然還有十臺服務(wù)器光榮就義。但是,數(shù)據(jù)毫發(fā)無損!
這一刻,在場見證的人都明白:成了。
所有的技術(shù)路線之爭,所有的進(jìn)退成敗之辯,所有的隱忍委屈不甘,所有的懷疑嘲諷憂慮,就在此時此刻突然畫上句號。
盛夏的杭州,阿里巴巴熱血翻涌,阿里云的“瘋子”們卻心如止水。
(8)阿里云這群瘋子
阿里云,成為了中國第一家擁有完整云計(jì)算能力的企業(yè)。
2015年,在計(jì)算界的奧運(yùn)會 Sort Benchmark 中,阿里云計(jì)算100TB數(shù)據(jù)排序只用了不到7分鐘,把 ApacheSpark 之前創(chuàng)造的23分鐘世界紀(jì)錄一下子縮短了一多半。這說明,中國人研發(fā)的云計(jì)算系統(tǒng)不僅成功了,而且不比世界上任何現(xiàn)存的云計(jì)算系統(tǒng)差。
成功登頂?shù)?span lang="EN-US">“云梯2”,后來更名為 ODPS,“加冕”成為了阿里巴巴各項(xiàng)業(yè)務(wù)通用的大數(shù)據(jù)計(jì)算平臺。
ODPS 驗(yàn)證成功之后,阿里立刻啟動“登月計(jì)劃”,把所有的數(shù)據(jù)和計(jì)算都遷移到飛天為基礎(chǔ)的系統(tǒng)上,全盤替代 IOE 和 云梯1。2013年5月,阿里巴巴最后一臺小型機(jī)下線。7月,淘寶最后一個Oracle數(shù)據(jù)庫下線。阿里巴巴這臺戰(zhàn)車,用了五年時間,在超高速行駛中,沒有踩一腳剎車,成功更換了發(fā)動機(jī)。
因?yàn)橥黄屏思夹g(shù)瓶頸,在 5K 之后,ODPS 只用了幾個月就沖上了單集群 10K,進(jìn)而實(shí)現(xiàn)了無限制擴(kuò)展。到 2018年,已經(jīng)更名為 MaxCompute 的 ODPS 達(dá)到了數(shù)萬臺的規(guī)模。
哦對了,還有一件小事。當(dāng)年振飛和后羿的那場“世紀(jì)賭局”,后羿贏了。用了三年時間,新的淘寶核心系統(tǒng)果然實(shí)現(xiàn)了零故障。
這段時間,阿里云也迎來了兩個變動:
2012年秋天,林晨赴約去創(chuàng)業(yè)。提及過往,他如此回憶:“阿里云的四年,像是過完了一輩子。以后的事情,都是下輩子的。”他和朱瓏創(chuàng)立了依圖科技,如今是人工智能領(lǐng)域最炙手可熱的公司之一。
2014年秋天,胡曉明來了。這個當(dāng)年去王堅(jiān)辦公室“上訪”的熱血青年,陪著阿里云走過了最漫長艱難的歲月。也正因如此,此時他比任何人都更堅(jiān)信云計(jì)算的力量。
2015年7月22日,云棲大會北京峰會開幕。新的領(lǐng)導(dǎo)團(tuán)隊(duì)第一次在公眾面前露面。
胡曉明任阿里云總裁。李津扛起產(chǎn)品研發(fā),在淘寶網(wǎng)鼎力幫助阿里云的小邪作為技術(shù)顧問。等等等等。
名單里沒有王堅(jiān)。王堅(jiān)知道,當(dāng)有人能比他更好地帶領(lǐng)阿里云前進(jìn)的一刻,就是他放手的時候了。
這個老男孩,此時靜靜坐在時光的河岸邊,癡癡傻笑。夢回少年,肝膽皆冰雪。
在阿里巴巴的云棲小鎮(zhèn),一尊雕像被豎立起來,雕像上只有兩個字:“5K”。
5K雕塑,上面刻著飛天團(tuán)隊(duì)所有工程師的名字,無論 Ta 是不是仍然在團(tuán)隊(duì)。
之前有人無心說的那句“沒準(zhǔn)將來我們成功了,我們寫的飛天第一行代碼還能印在T恤上呢!”也成為了現(xiàn)實(shí)。
2018年現(xiàn)任阿里云產(chǎn)品總監(jiān)何云飛
身上就穿著“第一行代碼T恤”
2013年,中國企業(yè)IT架構(gòu)升級最好的解決方式,再也不是買來一臺新的機(jī)器替代掉原有機(jī)器,而是采用云計(jì)算。
從這一刻開始,這些瘋狂的技術(shù)宅才有了服務(wù)全世界企業(yè)的信心;也正是從這一刻開始,坐鎮(zhèn)第一把交椅的傳奇總裁胡曉明,帶領(lǐng)阿里云進(jìn)入了“攻城掠地”的時代。
中國的網(wǎng)站登錄阿里云的比例,從20%,上漲到30%,上漲到40%,上漲到50%。全球19個地域,兩百多個飛天數(shù)據(jù)中心順次點(diǎn)亮。
每個季度,阿里云都保持同比增長100%,這樣逆天的增長速度持續(xù)了12個季度。
2018年初的云棲大會上,在一幅碩大的市場曲線圖面前,胡曉明抬起右手,這一秒,時間像是凝固了一般。
同一年,飛天云計(jì)算操作系統(tǒng)獲得了一個特別的獎項(xiàng)——中國電子學(xué)會15年以來的第一個特等獎。
在芯片領(lǐng)域,我們面對美國壟斷只得眼睜睜地沉默。
在操作系統(tǒng)領(lǐng)域,我們面對美國的背影只能艱難追趕;
但是在云計(jì)算這片土地上,從王堅(jiān)帶著一群理想主義者橫空出世,到胡曉明把商業(yè)戰(zhàn)場拉至和亞馬遜的 AWS 同一級別。中國人用了十年時間造出的全球第三、亞洲第一的阿里云,不說和美國戰(zhàn)為和棋,至少在世界的版圖上奪下了堪稱廣袤的一片疆土。
如此,阿里云的瘋子們,理應(yīng)贏得光芒和榮耀。
創(chuàng)業(yè)維艱,唯有曾和死神擦肩而過的人,余生才會用十倍的速度奔跑。
2018年,當(dāng)年為阿里云對接淘寶立下汗馬功勞的小邪正式加入了阿里云,掌管“飛天八部”,阿里云所有的現(xiàn)役主力技術(shù)和前沿技術(shù),都?xì)w至他麾下。
小邪 蔣江偉
小邪手中的彈藥充足:
2017年發(fā)布的神龍?jiān)品?wù)器,是對下一代云計(jì)算主機(jī)的探索。
同年發(fā)布的 POLARDB,劍指商業(yè)數(shù)據(jù)庫 Oracle 和它的繼任者 MySQL,也稱得上是阿里云未來之星。
2018年初,飛天的分布式存儲系統(tǒng)“盤古”升級到了 2.0,成為阿里巴巴統(tǒng)一存儲平臺。
2018年秋天的云棲大會上,唐洪、小邪、何導(dǎo)等阿里云大咖悉數(shù)登場,發(fā)布了飛天2.0。敢稱 2.0,是因?yàn)樗麄儼岩靶姆诺搅?span lang="EN-US">“萬物互聯(lián)”的下一個20年。
如此嘗試和未來對話的技術(shù)還有很多。
此刻的阿里云,手握歷史上最好的一把牌。
不久前,王堅(jiān)受央視《朗讀者》節(jié)目邀請,回憶了阿里云的創(chuàng)業(yè)史。他平靜地說:“阿里云是拿命換來的”。
能用命換來夢想,未嘗不是幸事。
君不見,在無數(shù)個平行世界中,瘋?cè)嗽豪锏柠溈四谱罱K都越獄失敗,被醫(yī)生切去前額葉,再無還手之力。
一群理想主義者的長征路上,一片落葉微微改變飛舞的方向,都有可能把他們引向另一個方向,另一種結(jié)局。如果重來一次,阿里云也許無法復(fù)現(xiàn)今天的疆域和榮耀。但歷史沒有假設(shè),可嘆阿里云這群人從第一天就無來由地相信,中國人有權(quán)擁有自己的云計(jì)算。
以身為棋,勝天半子。
阿里云的創(chuàng)業(yè)故事走到了封底。書中悲歡離合,凡此種種,也許只博看客一嘆。只有那些經(jīng)歷過這一切的活生生的人,才能在時間的風(fēng)塵里,循著自己的腳印依稀辨別來路。
而那些走散的人呢?
他們也許會在某個秋日回憶起和伙伴同行的日子,心懷感念;他們也許有了新的忙碌的生活,來不及回望;他們也許偶然翻到新聞,看到那年王堅(jiān)的滾滾熱淚;他們也許在飯桌上談笑風(fēng)生,聊到當(dāng)時的兄弟,忽然抬眼望向遠(yuǎn)方,干掉一杯烈酒。
我想起一個小故事。
在最初面試時,有一個大牛程序員和滿弓聊過之后,本想再考慮考慮是否入職。但是出門時,他看到了阿里云辦公室上的一副對聯(lián),原地思考了幾秒鐘,轉(zhuǎn)身決定馬上加入。
那副對聯(lián)是這樣寫的:
代碼成就萬世基積沙鎮(zhèn)海
夢想永在凌云意意氣風(fēng)發(fā)
任何執(zhí)拗都會成為過往,只有時間會告訴你對錯。
人們總愛說一句話:認(rèn)真你就輸了。而我更相信另一句話。認(rèn)輸,你才真的輸了。