研發人員揭秘阿里云如何一飛沖天
原創也許你不知道阿里云的底層架構,也許你只聽說過阿里云的“5K”集群,然而他們所表達的是一個:阿里云飛天開放平臺(以下簡稱飛天)。
飛天是由阿里云自主研發完成的公共云計算平臺,主要解決規模計算的問題。在阿里云2015云棲大會上,51CTO記者采訪了為阿里云底層做出過突出貢獻的飛天人,來講述飛天背后的故事。
飛天的由來
在2007年,阿里巴巴集團的業務發展基本上都聚集在數據計算方面,核心的也都和數據相關,例如廣告業務,需要知道推薦廣告的用戶人群,這是數據問題;在比如有著近10億用戶群的淘寶,商品搜索也是數據問題;而支付寶的反欺詐問題,也需要用數據來解決。于是,阿里巴巴決定,希望通過數據的挖掘和數據的運算來解決實際的業務問題,因此,飛天的想法誕生了。
當然,在飛天之前,有很多各種各樣的解決方案,但是漸漸的,阿里巴巴發現,IT預算的增長遠遠超過業務增長的速度,如果沒有自己的核心技術,總有一天,賺的錢比不過花掉的錢,這也促使了飛天的產生。
依圖科技創始人林晨曦在2008年的時候也在微軟工作,進行分布式系統的研發。但當時林晨曦意識到,數據時代就要到來,而阿里巴巴擁有大量的數據資源,會產生大數據平臺和業務,于是林晨曦隨著王堅博士一起加入到阿里巴巴,成為了飛天最早的負責人。
飛天的核心技術均由阿里巴巴的工程師自主完成,在談到技術選擇時,林晨曦告訴51CTO記者,2008年,阿里巴巴的技術分為三套體系,一是開源技術,采用Hadoop等開源技術,二是雅虎體系,主要集中在搜索和郵箱,三是傳統IOE架構。而在飛天的技術選擇上,很多阿里人都認為應該采用一些開源的技術,但是,阿里業務在發展的過程中會不斷產生技術問題和需求,如果不是自主的知識產權技術來解決,恐怕只能了解皮毛,解決不了實際。因此,阿里巴巴希望技術能夠掌握在自己手里,因此,飛天基本上都是阿里巴巴自主研發。
唐洪作為飛天的第二任負責人,對技術的掌控在自己手里也是相當認可的。“如果一開始直接使用開源技術,嘗到了甜頭,但是能力上沒有把握好是非常危險的,在飛天的代碼中,有很多獨創的東西,這也促使了飛天的工程師成為了中國分布式系統中最強的開發團隊。”

左:飛天第二任負責人,阿里云事業群資深總監 唐洪
右:阿里云產品經理 湯子楠
飛天是什么
那么,什么是飛天呢?通俗的說,飛天就是把幾千臺廉價的服務器整合成一臺超級計算機,是阿里云最底層的技術支撐。
飛天開放平臺最底層是數據中心,上面是通用服務器搭建的集群,再上層是大規模的通用平臺(下圖黃色區域),包括遠程過程調用RPC(夸父)、安全管理Security(鐘馗),分布式協調Naming/Coordination(女媧),資源管理Resource Management(伏羲)、分布式文件系統Distributed File System(盤古),應用調度Job Scheduling(伏羲),分布式部署Cluster Deployment(大禹),分布式檢測Custer Monitor(神農)。而再上層(下圖藍色區域)提供的就是阿里云對外的所有云服務,均是通過Web API作為接口進行控制和訪問的。

飛天開放平臺架構
飛天開放平臺有兩大設計原則,首先是以通用大規模服務的平臺作為底層,提供多租戶的環境,將資源利用率提到最高;第二,是基于Web API作為提供服務的方式,開發者只需要登錄阿里云網站就可以使用阿里云提供的服務。
在談到飛天的難度時,唐洪對51CTO記者說,“飛天很大程度上要做的事情是要規避故障,并且對數據進行冗余。簡單的理解,就是說服務‘永遠’不中斷,數據‘永遠’不丟失。當然,這里‘永遠’是打引號的,但是這一臺超級計算機一定要比單個服務器的可用性和可靠性要高得多才行。”
同樣是是飛天人的湯子楠認為,飛天系統有2個關鍵作用,首先,在2010年左右,中國的IT公司大多集中在應用層,很少有涉及到IT系統的最底層,畢竟做底層系統會面臨著非常大的技術挑戰,而中國的IT知識都是被國外壟斷,中國人沒有自己的技術,因此,能夠做飛天是一件很宏偉的目標,會被記入到史冊中。其次,在飛天研發過程中,集中基礎設施構建,不斷解決系統核心問題,例如規模、穩定性、容災等。在飛天的發展過程中,鍛煉了大量分布式系統的人才,這些技術的積累為未來產品的爆發提供了厚積薄發的能力。
有意思的是,飛天系統中各平臺的名字基本上都是中國古代的名字,這也標志著飛天是中國自主研發的技術平臺。
飛天的未來
2009年2月4日,阿里人寫下了飛天的第一行代碼;2010年8月27日,飛天在阿里巴巴內部正式成為了五個應用公共平臺;2011年7月8日,阿里云官網正式上線,阿里云第一個云服務彈性計算也同時上線;2013年8月15日,第一個5K集群上線,也是中國自主研發的系統中第一個達到如此大規模的系統。
而飛天的下一個目標就是10000。從5000到10000,不只是乘2這么簡單,因為各方面能力都在增加,功能上也在疊加,例如因為動態資源調配的問題而增加控制的復雜度。因此,在數據結構優化和關鍵路徑優化方面飛天人還有很多工作要做。
唐洪告訴51CTO記者,10000臺集群目前正在研發,預計在今年底或明年初就會正式發布。
51CTO記者將繼續發回現場報道,請大家繼續關注51CTO云計算頻道。也可以點擊下面的鏈接,觀看官方直播:2015杭州云棲大會現場直播
相關現場報道: