1. 程式人生 > >阿裏雲的技術創新,不是簡單的路線之爭

阿裏雲的技術創新,不是簡單的路線之爭

image 統一 貢獻 繼續 通過 出現 根據 阿裏雲 發展

技術分享圖片
根據Gartner 2017年全球公有雲IaaS市場份額報告,全球前三甲已無懸念:AWS、微軟與阿裏雲,緊隨阿裏雲後面的是Google和IBM。在競爭激烈的以公有雲為代表的下一代全球企業IT市場,終於不再是IOE一統江山的局面,阿裏雲把一抺中國紅帶入了全球視野。而且,還很可能是永遠性的,因為2016年Gartner這份報告中還統計了14家廠商,到了2017年就只剩6家!

全球公有雲IaaS前五大家都是自研技術的代表,而阿裏雲的自研技術亦不遜色於其它四大家。在到底是自研還是直接使用外部現有技術這兩條路線之爭中,阿裏雲最終選擇的是走自主研發道路。然而,自研技術這條道路並不是阿裏雲自己求來的,而是在阿裏自身業務發展過程中,隨著業務規模的不斷擴大而被倒逼出來的。在這個過程中,突破了現有技術的天花板。

所以,不是阿裏雲要拋棄傳統IT架構,而是傳統IT架構無法承載阿裏雲的規模;也不是阿裏雲刻意不用現成的技術,而是這些技術也無法承載阿裏雲的規模;這些都是2009年寫下第一行代碼時的阿裏雲工程師們所想像不到的。當“一花一世界”不再是比喻,而是一朵花就變成一個世界那麽大時,該怎麽辦?可以說,今天的阿裏雲技術也不是神話,也是在解決問題的過程中,人肉打磨出來再凝聚沈澱下來的經驗總結。

打掉了Hadoop的飛天5K集群

技術分享圖片

在整個阿裏雲的飛天系統研發歷史上,5K集群非常具有典型代表意義。代號為雲梯1的機群,搭載了開源的Hadoop大數據系統;代號為雲梯2的機群,承載的是阿裏雲當時自研的ODPS(Open Data Processing Service)開放數據處理服務以及底層的飛天系統,ODPS後就是阿裏雲對外提供的自研大數據計算引擎MaxCompute。雲梯1和雲梯2都是當時阿裏集團處理海量數據存儲與計算的系統,2008年兩個雲梯啟動時,阿裏內部已經有了9個Hadoop集群。

雲梯1和雲梯2這樣的競爭在阿裏內部其實非常普遍,技術團隊內部的爭論非常厲害,甚至當著馬雲的面也不掩飾。Hadoop作為大數據的標誌性項目,本身更加成熟,在技術人員心目中地位很高,感情很深,但是可控性、安全性的問題可能更會在長期成為過不去的坎兒。

2013年8月15日,基於阿裏雲飛天的雲梯2規模達到5000臺服務器規模,而且實現了跨機房,並經受了整機房斷電的嚴苛考驗。該平臺計算100TB排序只需30分鐘,遠超Yahoo!在當年7月剛剛創造的71分鐘世界紀錄。阿裏雲成為世界上屈指可數的具備這一能力的公司之一,也是第一個對外提供這種大規模計算能力的公司。對於阿裏雲來說,2013年是拐點。

所以,後來阿裏的自研技術團隊都實行了自研技術與原有技術兩套方案並行、灰度逐步切換流量、出現問題及時回滾等保護機制。一句話總結,阿裏自研技術能夠在阿裏內部站住腳並贏得長期發展,是阿裏內部的市場競爭、優勝劣汰的自然結果,並不是權威壓制。

隨著飛天5K項目的成功,飛天平臺用技術實力證明了其在“性能強勁、架構靈活,可支撐業務飛速發展;技術自主可控,安全可靠;成本更具優勢”等方面,遠超Hadoop集群的優勢。2014年,阿裏啟動“登月計劃”, 將計算和數據處理統一轉移飛天平臺之上,並從長遠的安全可控等角度考慮,支持雲梯2上、雲梯1下。

不過故事並沒有就此結束,在雲梯1和雲梯2競爭到5K規模的時候,兩個技術方案的原理其實是不一樣的,雲梯2是基於阿裏業務、從底層硬件到上層應用的完整技術體系設計與優化,為未來的服務器規模的無限擴展打下了基礎,這也就是今天阿裏雲能夠成為全球前三雲計算的前提。Hadoop等技術的終極設計目標並不是為了無限擴展,而阿裏雲很多自研技術的一個基本要求,就是要支持“無限擴展”,甚至直到今天還在為這個目標努力中。

為了中小企業而“飛天”

技術分享圖片

今天,可以在各種渠道讀到阿裏雲自研的故事,包括王堅如何在阿裏內部被各種罵。王堅當時堅持做雲計算,不僅阿裏內部都看不懂,外部的李彥宏和馬化騰等大佬也看不懂,都認為做雲計算沒有前途。有一年在阿裏雲事業部年會上,王堅一上臺就委屈地哭,他手拿話筒,對同事說:“我挨的罵甚至比我一輩子挨得罵還多,但是我不後悔。”

但為什麽是阿裏做成了雲計算?做成了飛天?飛天早期曾經有一幅對聯:夢想永在淩雲意意氣風發,代碼成就萬世基積沙鎮海。這樣的豪情壯誌背後,真正掏錢為自自主研發買單的是馬雲。馬雲有一句經典的話:我願意給阿裏雲每年投10億,連續投十年,做不成再說。

2009年,馬雲要求當時的胡曉明創業阿裏金融,為的是解決中小企業融資的問題,每筆貸款不超過100萬、通過線上方式完成,而且必須要跑到阿裏雲上。胡曉明後來回憶,“2009年6月1日,馬雲找我談,說你必須創業,你一定要考慮,如何解決當年在做阿裏巴巴的時候借不到錢的時候痛苦,必須去解決,所有中小企業的融資難問題。”

這就是胡曉明與阿裏雲的淵源。從2009年開始,胡曉明創立阿裏金融、王堅創立阿裏雲,阿裏金融還要跑在阿裏雲上,相當於“一邊蓋房子,一邊還要搞裝修”,而且阿裏金融還是金融業務,對底層計算的要求更高。 阿裏金融和阿裏雲這對難兄難弟,開始了一起“飛天”之旅。“明明可以坐高鐵,卻偏偏要騎自行車去上海。”這是當時研發工程師對阿裏金融要跑在阿裏雲上的評價。

這其中就有很多故事。阿裏雲第一任技術總監林晨曦是跟隨王堅加入最初的阿裏雲,王堅與林晨曦之前都為微軟亞洲研究院同事。林晨曦回憶後來做5K項目時,從騰訊新來的同學入職阿裏雲,第一天上班的時候看到我們說,你們是真的做!

林晨曦感嘆,可能當時很多人都很難想象,我們可是真的做。阿裏不僅是真的做雲計算,而且一開始就服務於阿裏金融這樣對底層計算基礎設計要求極高的互聯網金融業務,更不用說在2009年的時候,互聯網金融本身就是一個新鮮事物!馬雲要求阿裏金融必須跑在阿裏雲,因為必須要給阿裏雲一個“壓力”。

林晨曦回憶:在阿裏雲的四年,像是過完了一輩子;以後的事情,都是下輩子的。很多阿裏雲的新同學,都是剛入職就馬上出差。而那幾年,阿裏雲的離職率也非常之高,很多人都堅持不下去。阿裏金融在內部又稱為“牧羊犬項目”,在與早期阿裏雲的合作過程中,經歷了“人肉雲計算的巔峰時期”,“分布式計算”也被調侃成解決“分步試”的問題。

曾鳴後來回憶:整個阿裏巴巴做雲計算的過程也非常艱難,太辛苦,做不下去了,很多人覺得不可能做成,雖然相信未來是美好的,但是實際是堅持不下去的,基本上兩年淘汰三分之一。

2014年底,胡曉明接手阿裏雲並任總裁,在繼續保持大力投入技術自主研發的同時,阿裏雲的商業化進程實現爆發式增長。12306、微博、春晚、世界杯等國民事件背後都有阿裏雲的支撐。

自主研發並不意味著不開放。到目前為止,阿裏一直是開源社區的堅定支持者和傑出貢獻者。阿裏對於開源技術的貢獻,從最初的全面掌握開源技術、貢獻眾多的Bug和支持各種開源標準,例如阿裏是Linux基金會、MariaDB基金會、CNCF、Xen project等數十家開源基金會的頂級會員;到後來把自研技術拿出來開源作為對開源社區的回饋,從2011年開始阿裏就持續向開源社區做出貢獻,這是阿裏一條獨特的從開源中來、回歸到開源但又高於開源的道路。

目前阿裏開源和維護的開源項目超過150個,涵蓋中間件、開發框架、數據庫和各種工具類軟件,其中阿裏開源的Weex、Ant Design、Dubbo、Fastjson 在GitHub上Star已經破萬,阿裏在GitHub上Star數超過170000,組織排名前十。GitHub 2017年數據統計顯示,阿裏巴巴是唯一一家入圍GitHub 頂尖貢獻名單的中國公司。

今天,阿裏雲站立在世界之巔,成為全球公有雲前三強,背後是技術與技術、技術與人、人與人之間無數博弈的結果。阿裏雲的歷史告訴我們,新技術的本質是人們根據現實的需求,對已有技術的重新組合,從而解決新的問題。以前,IOE是這樣成長起來的,現在阿裏雲也是走的這條道路。歸根結底技術都是人的產物,人才是真正推動技術進步的主要因素。所以,真正創造阿裏雲的,是阿裏人。(文/寧川)

阿裏雲的技術創新,不是簡單的路線之爭