閱讀90 返回首頁    go 阿裏雲 go 技術社區[雲棲]


阿裏雲首席架構師唐洪:擁抱開源的雲端更具生命力

近日, 國際開源界頂級會議LC3(LinuxCon + ContainerCon + CloudOpen)首次在國內舉行,阿裏雲首席架構師唐洪作為特邀嘉賓出席並發表主題演講。唐洪首先從一組數字開始,回顧了阿裏雲曆史及重大技術突破時間點;第二部分主要分享了阿裏雲目前的技術架構和亮點,以及在此基礎上形成的廣泛的阿裏雲產品生態;第三部分重點講述了阿裏雲和開源社區的合作及進展,特別是阿裏雲在廣義的虛擬化技術領域的曆程,及在開源社區取得的成績;最後還展望了阿裏雲在容器和異構計算安全等方向上未來的目標。唐洪認為,通過堅定對開源技術的擁抱和合作,阿裏雲的技術和社區更具生命力,能夠更有效地支撐阿裏雲業務和生態的發展。

image


大家好!今天很榮幸給大家介紹一下阿裏雲的曆史,以及我們現在使用的技術。首先,我給大家分享一些阿裏雲的數據:阿裏雲成立於2009年9月10日;在兩年之後的2011年7月28日,我們的官網正式上線並發布我們第一個產品ECS;在最近的八個季度裏麵,阿裏雲的營收保持了三位數的YoY增長。今天阿裏雲占據了中國雲計算的絕對份額。我們有87萬付費客戶,到2017年的時候,我們年收入已達到66億人民幣,相當於近10億美金。

image


這些數字背後是我們的核心技術-飛天(Apsara),現在我們來看一下 Apsara的發展曆史。2009年初我們開始研發這個雲計算的底層操作係統,當時稱它為飛天(Apsara);2010年8月27日,飛天成為了阿裏巴巴集團內部的雲基礎設施,在這個雲基礎設施之上我們開始支持一些業務應用,包括全網搜索,網絡郵箱,還有圖片儲存和微貸支付(當時該業務還在阿裏巴巴集團下,現在已經單獨拆分為螞蟻金服集團)。

image


第三部分, 2013年8月15日,我們發布了飛天集群5K項目,為什麼叫5K呢,因為就是要突破集群中五千台服務器這個技術瓶頸,這也讓阿裏巴巴成為國內第一個獨立研發和擁有大規模通用計算集群平台的公司。因為在2009年的時候,當時我們知道Google的單服務器集群管理的最大節點數大約是5000。所以這就是為什麼我們覺得需要設定5K這麼一個非常具有挑戰性的目標,就是在技術上,我們的計算集群至少要做到5000個節點的量級。最開始我們計劃是在2010年年底達到這個目標,但是事實證明實現過程比我們想象的難的多,直到三年後我們才真的實現了。

那麼在實現這個目標的一段時間之後,我們設定的新的技術裏程碑就是,除了要掌握這種基礎技術之外,我們的係統還應該比其他係統做的更好。所以在2015年的Sort Benchmark排序競賽上, 阿裏雲用不到7分鍾(377秒)就完成了100TB的數據排序,這在當時打破了世界紀錄。

再下來這個展示的裏程碑,這並不能說是一個技術上的裏程碑,主要是社區和開發者生態建設方麵的。從2011年開始,我們舉辦各種阿裏雲開發者相關會議,到2016年我們已經辦了六屆,從這些數字裏我們看到,我們總共有超過四萬名開發者參加了我們的線下會議,超過700萬的觀眾在線觀看了我們的雲棲大會。

image


那麼問題來了,現在阿裏雲究竟是什麼樣的一個規模和狀態?我們到底做了哪些技術上的創新?下圖我們看到的是一個規模迅速擴張的阿裏雲基礎設施分布圖,它是什麼樣的呢?首先,我們數據中心是按照地域來組織,尤其是在具體地區裏邊有這樣一個網絡,我們管它叫做Transfer network轉移網絡。另外,還有一個骨幹網絡,這是一個數據中心之間的網絡,我們怎麼樣和用戶,用戶如何和我們數據中心進行連接的這樣一個骨幹網。

image


今天的阿裏雲數據中心可用地區全球分布,在大陸我們有6個地區,華北區3個,華南區1個,還有華東區兩個,此外我們還有11個海外地區,分布在北美、歐洲和東南亞等地;另外我們有超過600個PoP節點,總共20TB/s的帶寬處理能力。下麵這張幻燈片顯示出我們阿裏飛天超大規模雲計算操作係統的架構圖,最底層的就是我們各個地區的數據中心。

image


在數據中心之上我們還有四個紅框標準出來的模塊,這些是構建分布式係統的最基礎的組件,比如說分布式協同,還有安全管理,日誌收集、監控、預警、追蹤、診斷等等都在這一層。在這層之上,我們有兩大係統,其中一個叫做盤古,負責存儲管理,另一個叫伏羲,負責分布式的資源管理。實際上通過這兩大管理係統,所有的數據中心裏的計算、存儲和網絡等資源都可以作為統一的資源,進行調度、管理和存儲等操作。在右麵還有一個叫天基,負責基礎設施管理和服務管理,大家可以看到,這是飛天係統裏非常底層但也是非常重要的一部分,因為它實際上上麵連接應用層,下麵管理最底層的數據中心等硬件設備。所以它的重要性就是負責服務部署,擴展及服務器監控等,比如一些服務器有問題的時候,可以迅速找到並馬上關掉它,然後下線分離它並把它單獨處理。

然後,在這個紅色的基礎設施管理和資源管理層之上,就是我們的租戶管理係統,主要有認證,還有授權、監控和計費等功能。在這之上,則是打包好的各種應用係統服務和調用,包括四大類:計算、存儲、數據庫和網絡;另外還有各種中間件、服務協同及Serverless 計算等;此外我們還提供一些高級的服務功能,包括各種數據智能化服務,比如BI、AI和機器學習等,另外還有一些安全的服務。再上邊那些橘黃框裏的功能,實際上是提供數據交互服務的,比如說數據遷移,數據庫同步,還有內容分發(CDN),還有高速通道,這是構建混合雲的核心組件,能夠讓租戶的自有機房和他們在雲上的虛擬私網打通 。

最後,大家可以把最上麵綠色的那部分看作雲的應用層,我們管它叫做“雲市場”。我們把這個Apsara稱作為一個超大規模的雲計算操作係統,之所以叫做操作係統的原因就是,實際上Apsara和一個單機的PC操作係統其實是很相似的。 最底層都是硬件,紅的那層對應的是內核,在內核之上,今天所有的PC都是多用戶的,有賬戶管理模塊。 所有的這些藍色的雲服務對應於一個PC操作係統的係統調用、係統服務和原生應用。最後大多數的現代的操作係統,都有一個應用(Apps)商店。

image


接下來,我想簡單地介紹一下阿裏雲飛天操作係統Apsara的設計亮點。首先,Apsara的目標是建立一個通用型的計算平台,在這個平台上各種不同的應用和關鍵應用都可以跑起來,無論是低延遲任務還是批處理任務,我們需要這麼一個混合型的計算平台來運行所有的這些應用。第二,在2013年達到5K目標後,我們並沒有止步,今天Apsara Cluster集群管理超過1w個節點,超過上百PB的存儲,以及10萬CPU核心。在整個的Apsara的設計過程中,我們從設計上就確保係統不會出現單點故障,且保證高於99.95%的服務可用性。另外,Apsara所有的數據存儲都是默認三重備份,其中數據可用性達到10個9的水平,另外Apsara係統所有的監控、診斷和部署都是完全分布式的。最後,飛天安全管理嵌入在飛天內核最底層,並且使用基於權能的安全管理框架,真正有效實施“最小化權限”原理。我們管它叫做最低TCB(可信基),通過基於最小可信基原則,我們構建一個安全的係統 。

image


我想對5K再展開說一下 。大家知道在這個世界上並沒有那麼多的商業化集群係統能夠達到5K規模的。所以這個規模對於阿裏雲來說是非常重要的。另外在阿裏巴巴集團內部,因為有了5K,Apsara在規模上第一次超過了Hadoop集群,所以我們決定將內部更多原先放在Hadoop平台上進行的數據處理統一到飛天平台上麵,這就是“登月計劃”,將阿裏巴巴所有的核心業務的數據處理遷移到Apsara平台上麵運行。2014年7月1號MaxCompute正式對外開放,這是一個基於Apsara計算能力的平台,這也標誌著阿裏巴巴成為世界上第一家對外公開提供5K處理能力的公司。很多公司可能有這樣一個計算能力,但從來沒有把它當作公共服務開放給社會。

另外,5K能力的對外提供公共服務,以及對這種技術的掌控,帶來的影響力超出了我們的想象,我給大家一個例子。在MaxCompute正式發布之前我們舉辦了一個天池大賽,賽題主要是將阿裏巴巴真實業務場景數據通過脫敏後提供出來,讓參賽隊伍來預測未來產品的銷量。這次天池數據大賽居然吸引超過7000個來自全球各地的團隊參加,甚至其中351個團隊是來自於中國大陸以外。而這樣的比賽在其他會議上也有,比如KDD上也曾舉辦過,但參賽隊伍數量遠低於此,這是非常令人驚喜的。

接下來這一頁PPT,可以顯示出我們產品係列的全麵性。因為時間原因,我就不細說了。

image


接下來我想說一下阿裏雲虛擬化技術的進展,我這裏並不會講廣泛意義和通常意義上的虛擬化,我將從三個方麵來講,主要分為資源隔離、服務器虛擬化和容器技術。


image


在講虛擬化技術之前,我先說一下開源操作係統Linux在阿裏巴巴的情況,當前阿裏雲所有的物理服務器都運行著Linux操作係統,比如Fedora、CentOS等發行版;另外,2011年阿裏巴巴發布了基於2.6.32內核版本的定製化內核AliKernel;第三,從2010年開始阿裏巴巴提交的將近300個kernel補丁被社區接受,這在國內互聯網公司中排名第一。

image


接下裏,我們再說一下我們為什麼要將延遲敏感性(latency-sensitive)任務和批處理任務混跑,這是來自Google的一張圖,大家可以看到的,通常承載LS負載的集群的CPU利用率會遠遠低於承載批處理任務的集群。 所以要提升整體資源利用率,一個直觀的想法是將兩類負載做混跑。做混跑的關鍵挑戰是如何做到在不犧牲延遲敏感性任務的長尾延遲的情況下提升資源利用率。我們在這方麵做了很多工作,具體細節因為時間原因我就不展開了,總的來說,我們在多個維度上實現了的資源隔離,包括CPU,網絡和IO等。


image


下麵讓我們來看一下這些工作帶來的效果,下麵這張幻燈片顯示出CPU資源隔離的效益。這個豎線實際上是一個CPU利用率。我們可以看到CPU利用率從35%提升到65%以上,增長率超過30%。與此同時,整個係統的延遲敏感性任務工作負載在吞吐量和延遲性上的性能降低也隻有5%以內。所以這就顯示出CPU資源隔離的效果。

image


接下來再看一下網絡資源隔離的效果。延遲敏感性任務和批處理任務混跑的情況下,不采用網絡資源隔離比采用網絡資源隔離,平均延遲時間高出6.8倍,尾延遲更是高出11.8倍。

image


再看一下IO限流的效果。這裏有兩個文件,一個做了限流,一個沒有做。可以看到我們的IO限流機製很有效,被限流的文件的IOPS穩定在25K左右。

image


下麵說一下阿裏雲服務器虛擬化方麵的技術進展,服務器虛擬化是彈性計算的基礎,實際上阿裏雲第一個雲服務器也就是提供這樣的基礎服務。2014年阿裏雲服務器虛擬化技術從Xen改到KVM;2017年阿裏雲升級為Linux Foundation金牌會員。

image


在計算虛擬化方麵,我想重點講一下Hypervisor熱升級技術,因為熱升級嚴重影響服務的可用性。在2014年Xen出了一個嚴重的安全漏洞, 惡意用戶可以利用這個漏洞侵入物理機器,或者影響跑在同一台物理服務器上的其他虛擬機, Linode公司當時為了修補這個漏洞重啟了所有服務器。

image


那阿裏雲又是如何做到Hypervisor熱升級的呢?我們在工程技術上做了很多的努力,讓所有相關模塊,比如KMOD和QEMU都可以做到全量熱升級。技術細節由於時間關係我不展開。 阿裏雲今天每一台 VM平均1-2個月都會經曆一次熱升級 ,升級過程中隻會有毫秒級別的暫停,用戶不會感知 。


image


我們再看一下阿裏雲容器技術方麵的進展,2016年10月,我們和Docker建立戰略合作夥伴關係。就在這個月DockHub服務正式落地中國;另外,2017年4月阿裏雲以黃金會員身份加入了CNCF基金會;到目前為止,阿裏雲是國內唯一同時支持Docker Swarm和 Kubernetes的雲服務供應商。


image


在容器技術方向上,我們努力將阿裏雲打造成Docker Swarm原生集成的雲基礎設施,更加全麵和廣泛地支持Infrastructure as Code擴展;另外,Kubernetes的支持工作也在緊鑼密鼓的準備中。

此外,還有很多規模方麵的增強,比如單一的Docker容器集群可以部署超過3萬個VM節點;最後,我們還運行著世界最大的基於容器的應用,那就是阿裏巴巴的電商業務平台。在2016雙11當天有超過30萬的Docker容器被部署,峰值交易能力達到17.5萬筆/秒。

image


最後,在我今天演講結束之前,說一下阿裏雲未來的技術方向。首先是輕量級虛擬化,容器方麵我們將追求輕量級虛擬化技術;第二,我們會采用像NVMe存儲和25GE網絡這樣的超快速硬件,在此之上全麵優化文件係統和網絡性能,我覺得超快速硬件部署和優化是非常有趣的一個方向,值得探索;最後就是異構硬件虛擬化的安全增強,比如FPGA、GPU,以及其他的定製化硬件,這些最新計算平台的虛擬化安全方麵需要注意什麼,也是我們未來工作的一個重點。

以上就是我今天演講的全部內容,謝謝大家!

最後更新:2017-07-04 09:32:18

  上一篇:go  學JAVA必讀!你沒學好JAVA是因為?
  下一篇:go  Java值傳遞和引用傳遞