1. 程式人生 > >阿里雲大資料三次技術突圍:Greenplum、Hadoop和飛天

阿里雲大資料三次技術突圍:Greenplum、Hadoop和飛天

對於企業來說,到底什麼是雲端計算?相信很多企業都有這樣的困惑,讓我們一起回到這個原始的起點探討究竟什麼是雲端計算?雲端計算對於企業而言到底意味什麼?
雲端計算的三條發展路徑及三種落地形態
當回到最初的起點再審視雲端計算的發展路徑,可以發現,經過十餘年的發展演進,雲端計算有三條發展路徑,並且最終沉澱下來了三種落地形態。
[1.jpg]

第一條路:源自於谷歌對大規模資料的處理,谷歌為全球的網際網路使用者提供同一個服務——搜尋,它需要將全世界所有的網站的資料都爬回去,然後做排序和索引,之後再為使用者提供搜尋服務。可以看到這樣的工作需要對海量資料進行處理,谷歌需要把上百萬臺的伺服器整合起來去做排序、索引和查詢。

第二條路:淘寶則發展出來雲端計算的另一條路徑,這條路與谷歌相比有類似之處,同樣需要把很多資料整合起來做一件事情。在我看來,淘寶所做的事情比谷歌更偉大一點,因為淘寶做的事情是交易。承載6億使用者線上訪問和下單支付,這件事情比簡單提供一個不能保證這次查詢和下次查詢結果的差異的查詢要更加困難,也更加偉大。因為這是有極其嚴格的業務要求的,雖然在規模上而言淘寶可能用不了像谷歌那樣多達百萬臺的機器,但是這也是一個聚沙成塔的過程,把眾多的廉價的伺服器整合起來去做一件事情,這就是雲端計算的第二條路徑。

第三條路:這條路徑的發展,是源於在過去的十幾年間企業內部在硬體方面進行的大量投資,造成大量賦閒伺服器資源。對於企業內部的使場景而言,往往僅有幾千或者幾萬個使用者,即便是大型的國有企業擁有有上百萬使用者,也就僅此而已。和動輒上千萬,上億的網際網路使用者相比,企業投入大量的IT資源特別是硬體資源的情況下,服務的客戶數過少,顯然造成伺服器資源的賦閒。面對由此造成的資源利用率低的情況,帶來的挑戰就是如何更多更好地去利用這些賦閒資源。虛擬化技術,最早是IBM在小型機上或者大型機上就實現了,通過虛擬化或者分割槽技術,可以來解決資源利用率低的問題,虛擬化的技術後來被VMWare發揚光大,在X86的平臺上進行了廣泛傳播應用,第三條路徑其實是就是虛擬化的過程。
雲端計算經過發展最終沉澱下來的這些技術,對於企業,甚至對於任何一個開展的業務而言,都必不可少的。既需要有效利用資源,將規模從小變大;也需要面向客戶和業務做線上並且有業務質量保證的交易,同時也需要對資料進行大規模處理,進而產生對資料的洞察來支援業務的智慧化。
真正能做到這樣的集大成者,實際上是我們現在看到的網際網路架構的雲提供商,比如AWS和阿里雲。而另外一些模式產生出來的雲端計算提供商,因為它們沒有這些強大的業務需求推動而產生的技術沉澱,所以很難把這個能力集合在一起。比如面向企業的商用軟體VMWare,雖然其能夠提供虛擬化,但是對於執行在其上的分散式應用,以及對大資料的處理就顯得比較薄弱。而開源世界則通過軟體方式的互動,看起來能夠擁有這樣的能力,比如通過Hadoop可以做大資料,通過OpenStack可以做虛擬化,但是我們可以看到這兩者是實際上存在天然的割裂,無論是在硬體的共享還是在管理層面的融合,以及在業務層面的互相支撐都存在鴻溝。
再回過頭來看,企業在上雲的過程中會遇到一些挑戰,企業需要面對非常複雜的雲端計算路徑。面對這麼多的雲端計算形態,企業在上雲時會遇到困惑:到底該怎麼考慮自己的雲端計算?
中國企業上雲的三大問題
阿里雲在和很多企業溝通並且幫助他們進行雲計算轉型的過程中,認識到了企業上雲面臨的最大的三個問題:
第一,陷入虛擬化的誤區:將虛擬化等同於雲端計算,沿著虛擬化的這條路走到黑。
第二,缺乏資料中心全域性方案:在小規模的應用場景下,進行簡單的虛擬化還是可行的,但是當雲變成了企業的公共資產,變成一個平臺的時候,就需要從大規模的角度甚至從資料中心整體的角度考慮,不光要考慮硬體的安裝部署,還要考慮後續的維護和統籌部署,安全問題以及業務快速響應問題。由於缺乏全域性方案,所以資料中心變得非常棘手。
第三,難以全面擁抱公共雲:由於中國的很多政策,以及很多企業的傳統習慣,還有很多投資方面的資產會限制企業一步到位地去擁抱公共雲,很多時候企業希望在自己內部有一朵雲,幫助企業既能夠享受網際網路技術帶來的業務昇華,同時又能避免一些政策的影響以及資料安全的限制。這些問題是真實存在的,比如說虛擬化這件事情,未來的業務場景會是網際網路化甚至移動網際網路化的,我們不得不把自己開放出來,去迎接更多使用者的訪問。只有與更多客戶發生直接的關聯,才能夠產生對客戶的洞察,這時大規模的訪問以及大規模線上交易將成為必然。另一方面製造業裝置,運輸業的交通裝置和其他電子裝置等都在升級改造成為智慧裝置,這些裝置之所以智慧的前提條件就是它能夠將資料送回來,讓我們加以利用,這就構成了另外一個維度的大規模,這就是網際網路連線的大規模和物聯網資訊處理的排程大規模。
對於第三件事情,還有重要的一點是:當客戶的行為資料和產品產生的資料都回到我們手中的時候,應該如何去使用這些資料?我們需要使用它們產生智慧來指導業務,比如淘寶體系內,對於6億使用者,100億商品,依靠傳統方式手工去推薦基本上是不可能的事情,只能依靠人工智慧對資料的挖掘,靠商業的智慧在100億商品和6億客戶中做推薦。雙十一900多億的營收,有300多億的超總營收三分之一是來源於智慧推薦,這也導致一個3萬人的企業產生了3萬億這樣龐大的經濟規模。

[2.jpg]

企業上雲的最大障礙

未來企業做大規模雲端計算的時候,會遇到一個很大的障礙就來源於資料中心。在傳統企業中構建資料中心往往採取使用複雜的硬體做整合的方式。這些異構的硬體產品在小規模的單系統情況下,耗費一些時間去整合運維,系統所提供的可靠性保證還算是可以的。但是如果將全公司成百上千個業務都執行在同一個系統上面的時候,靠簡單硬體的高可用已經不足以承載,因為在5000臺機器的規模下,每天都有超過10臺硬碟的損壞,以這樣維修的概率,如果不以軟體的方式和智慧化的方式加以解決,完全靠硬體的整合方式,是無以為繼的。
更可怕的是對於這樣一個複雜的整合工程,從採購到建設,將會經歷一個漫長的的週期。這樣做雲端計算反而制約應用的發展,因為過去一個系統採購一套裝置,還是等得起的事情,但是當幾千個應用都需要等待這個雲平臺的建設來開通的時候就是個等不起的事情了。
安全同樣也是,政策法規、資訊保安的一些隱患、現有系統的投資等等問題,都導致企業不可能一步就走到公共雲上去。在這樣的情況下,企業要解決這些困惑,要上雲該怎麼辦呢?
阿里巴巴作為一個企業,我們也親身經歷過這樣的過程,而也把這個過程獲得的收穫總結成公共雲,並且服務了眾多的小微企業。現在我們也嘗試用混合雲的方式服務大型企業。阿里雲是怎樣發揮自己的特長去幫助企業的呢?阿里雲能幫助企業解決剛才提到的一個比較嚴重的上雲障礙。可以用數字來證明我們真正做到了,雙十一是對我們業務的強大的挑戰,但對於技術而言,雙十一也是孵化新技術良好的土壤。通過3億使用者同時線上,每秒產生14萬筆訂單,進行8萬多筆支付交易的強事務處理的場景,以及每天要消化掉200PB的資料,產生對於客戶的洞察,進而使智慧化營銷和智慧化推薦形成閉環。
我們孵化出來了以淘寶體系為核心的分散式架構,也孵化出來了類似於谷歌那樣的大資料處理的平臺。這些都是從經歷十多年的艱苦卓絕的鬥爭中積累下來的。
淘寶催生分散式應用架構
2003年開始的時候,淘寶只是一個非常簡單的網站,一個現在大家都可以做的LAMP架構的網站。但是到現在已經經歷了5個階段,通過不斷解耦,通過分散式架構的1.0,2.0,3.0這樣的逐步演進,我們已經能夠做到把交易,訊息以及資料庫都完全做成分散式的。也就說在資料層面,應用層面,進入方面和查詢方向,全都以分散式的結構來搭建系統,使得整個系統不存在效能以及擴充套件的瓶頸。

[3.jpg]

開放技術能力

我們的架構總結下來是這樣的,全分散式的體系,訪問層,應用層和資料層都是分散式的,這使得核心系統也是分散式的。為應對大規模的挑戰,我們在前端通過CDN把內容快取在離客戶最近的地方來提高客戶體驗。在2015年的時候,我們將這個架構變為產品,讓任何一個企業,哪怕是小微企業也可以構建像淘寶一樣強大的線上交易系統,幫助這些企業在做“網際網路+”轉型以及業務轉型的時候獲得最大的技術基礎。

[4.jpg]

阿里雲大資料發展之路的三次突圍

能夠把雲端計算的三個方向整合到一起的另外一個方向就是大資料的處理。阿里雲的大資料處理也是經過了從2009年到2013年這五年的孵化,在2009年的時候,我們還是亞洲最大的Oracle叢集,但是還是已經無法承載飛速發展的業務。
於是我們選擇了3條分支路徑去探索後面的路,第一條路徑是用商業的Greenplum來替代分析型資料運算;第二條路是因為擔心Greenplum不靠譜,我們也使用Hadoop做類似的事情;第三件事情,就是啟動了飛天作業系統的研發,目標是打造一個屬於自己的大資料平臺。中間的歷程非常坎坷,到2010年的時候,Greenplum這條路因為規模和可用性的問題以及計算準確性問題被放棄;2013年的時候,Hadoop平臺也因為資料中心規模擴充套件不上去和安全管理以及許可權管理和資源管理等一系列問題,最後不得不放棄這套體系。
[5.jpg]

“飛天”涅槃

最終我們使用自主研發的“飛天”作業系統將五千臺機器整合到一個大平臺,用“飛天”作業系統能夠分散式地部署到異地的多個機房的能力實現了大資料計算和儲存能力。“飛天”作業系統幫我們真正實現了夢想:把三個雲端計算方向整合起來,提供通用的計算能力,提供一種足夠便宜足夠強大的計算能力。

[6.jpg]

通過使用安裝了Linux系統的五千臺相同的計算機,通過“飛天”的分散式檔案系統,整合成為一個分散式系統,開通了三類服務:
第一類服務:彈性計算,就是應對虛擬化的服務,但是它不只虛擬化,彈性計算可以做計算虛擬化,儲存虛擬化,可以提供更加強大的計算環境;
第二類服務:提供淘寶這樣強大的分散式應用中介軟體來幫助企業打造分散式應用;
第三類服務:大資料處理和資料智慧的這些業務,這些業務都是依賴於我們的大資料處理能力進行的。
資料處理能力推動智慧業務
通過“飛天”系統成功地將三種雲端計算以及雲端計算路線整合到一個平臺當中,有了這個平臺的支援,才使得整個企業的智慧化得到了長足的發展。在智慧化發展過程中,我們基於這些計算能力,逐漸壘高了技術和模型的儲備以及對資料應用的儲備,一層一層地從分析工具到應用引擎再到解決方案,支撐了阿里巴巴整個智慧化的人力資源,智慧化的安全管理,智慧的物流客服以及智慧化推薦,這些也支援阿里巴巴整個集團業務不斷前進和發展。

[7.jpg]

十年攻防鑄就雲安全

在這個的過程中,阿里巴巴作為一個網際網路公司,在快速發展業務的同時也在遭受世界上最多的網際網路攻擊。
統計資料顯示,我們每天會防禦2億次暴力破解,2000萬次Web入侵,超過1000次DDOS攻擊,在這樣惡劣的環境下,我們用10年的時間產生出一整套安全體系和服務產品。這個產品從感知態勢就可以知道,哪些壞人,哪些惡意的行為在哪裡發生,以及他們用了什麼樣的伺服器,誰是主控,對我們在進行什麼樣的探索行為,背後的人是誰,他的身份證號碼是多少,這些東西,我們都通過感知的基礎之上進行捕獲。
基於感知的基礎就可以做到知己知彼,才可以百戰百勝,戰勝敵人的同時對自己進行保護。我們的產品服務有網路層面的保護,也有伺服器主機層面的保護,更多的會上升到業務層面的保護以及對於資料的防護。

[8.jpg]

舉個態勢感知的一個例子,雙十一當天,有很多機構和競爭對手在對我們發起攻擊。這些攻擊行為來自世界各地,來自機器和人。通過對其進行追溯,我們構建出了一套以大資料為核心的安全體系,圍繞著網路,應用資料,形成了各個維度的全鏈路的閉環式的聯動安全體系。
這套安全體系,不僅在保護著我們自己,同時也在保護阿里雲的使用者,幫助他們修復每天6000多次的高危風險,阻礙1000多次DDOS攻擊,攔截2000萬次的Web滲入和2億次主機暴力破解,為阿里雲百萬客戶保駕護航。
軟體定義資料中心
對於從使用者提供的服務中沉澱下來的能力,用一句話總結就是:軟體定義資料中心。在如此大規模的情景下,我們沒有辦法靠傳統方式去堆疊硬體,去做整合和做分段維護,我們必須要有新的方式:基於最簡單最普通最標準化的硬體構建底層,然後用“飛天”作業系統將幾千臺機器整合成一臺機器,在其上為大家提供軟體定義儲存的服務。客戶需要物件儲存,阿里雲就提供物件儲存,無論如何一定會解決客戶的儲存問題。

[9.jpg]

軟體定義網路的服務,需要安全網路VPC,需要負載均衡和高速通道,阿里雲都可以幫使用者提供,不需要客戶去獨自支撐這樣的服務,也不需要客戶再去手工操作。之後再將安全包括剛才提到強大的雲盾,安騎士態勢感知作為一個防護體部署在資料中心之上。

有了這樣的軟體定義儲存、網路和安全之後才算是提供了真正的彈性計算。

[10.jpg]

有了阿里雲自主研發的這些技術優勢,才能夠支撐我們在全球快速地部署雲端計算業務,並且快速穩定地運營雲端計算業務。
因為這些特點,阿里雲在公共雲上有了很大的突破,海量使用者和應用都承載在我們雲服務的資產之上,使用了彈性計算、中介軟體、大資料的儲存計算、智慧化的應用開發的能力以及安全和監控雲服務。
“專有云+公共雲”提供上雲最佳路徑
考慮到國內的一些實際情況,一些企事業單位上雲遇到了很多痛苦和困難,我們就把軟體定義資料中心,大資料計算的能力和分散式應用的能力作為一個“三位一體”的解決方案,通過專有云的形式,部署到企事業單位的體系內,幫助企業單位去享受網際網路技術帶來的賦能。同時也解決企業不能使用公共雲的困惑。
我們還發現企業還是需要“網際網路+”的,這時候我們就以混合雲的方式解決問題。企業內部在成員企業和總部內部署自己專有云,作為自己集中化演進的過程,通過阿里雲公共雲的VPC資源與專有云進行打通,為企業提供快速解除“網際網路+”的通道,這樣的方式稱為混合雲。

[11.jpg]

混合雲有很多實際的落地實現,舉個例子:中國石化在自己機房內建設了一個私有云,同時在阿里雲公共區域也申請了幾百臺虛擬資源,彈性計算資源和分散式架構資源,它的公共雲承載了面向客戶的電商業務以及對外其他業務,在專有云上承載了智慧物流,智慧煉廠,智慧油田,大資料安全以及企業內部安全的一些應用。

[12.png]

這一套體系中,應對未來物聯網飛速也有一個專門的參考架構:實時的資料上報,將資料快速的沉澱到阿里雲的離線計算平臺當中,總結出預測性的模型,在實時的流量計算服務單元裡面載入,進而幫助我們進行實時的智慧判斷,然後同時通過資料儲存單元和資料轉換單元實現智慧化和圖形化的應用。
這裡的一個應用例子:威派格智慧供水業務,它實現了TB級的裝置時序資料在日常監控,歷史情況回溯,和時指標統計,我們的架構應用於在這個企業所管理水房,泵房以及裝置的故障規則預警與智慧故障預測等多個應用場景。
阿里人工智慧的未來

[13.jpg]

基於整個大資料平臺之上,未來的發展方向是人工智慧。智慧上一些新的技術往往從娛樂方面開始的,阿里雲也在娛樂端做了一些人工智慧的嘗試,阿里雲小Ai在歌王挑戰中準確預測了前三名選手的順位,幫助我們證明了在阿里星球強大的資料支撐下,用500萬首歌曲訓練後得到的強大預測能力。只有強大的計算能力支援才能開展人工智這個領域的探索。而這只是開始,阿里雲未來將會針對各行各業開展人工智慧的應用。
(本文根據阿里雲技術專家宋傑在5月17日舉辦的2016雲棲大會·武漢峰會上演講整理而成)