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


阿裏 Pouch 技術開源負責人孫宏亮:如何在複雜場景下實現容器技術的大規模運用

日前,在2017中國開源年會上,阿裏巴巴自研容器技術 Pouch 宣布開源。在雙十一買買買的狂潮之後,阿裏選擇第一時間將 Pouch 技術開源,無疑,這又一次吸引無數開發者的目光。

借助阿裏將自研容器技術 Pouch 開源的契機,記者第一時間采訪到阿裏 Pouch 技術的開源負責人孫宏亮。他目前負責的內容包含製定 Pouch 技術發展方向,管理與維護 Pouch 開源社區。記者與他詳細探討了 Pouch 技術的一些關鍵細節,此次開源的緣由以及下一步的展望。

fd5ddb2bb2e70518fecc494a74149705943ea68a

圖:阿裏 Pouch 技術開源負責人孫宏亮

阿裏“雲化戰略”與容器技術

談及 Pouch 技術之前,先來說說阿裏在今年雙十一的“雲化戰略”。雲化技術戰略是阿裏集團基礎設施近年來一直在努力的方向,這其中包括混合雲、資源 Pouch 容器化、統一調度、存儲計算分離和混部等多項技術的不斷突破和創新。這一戰略是支撐今年龐大支付量(3 分鍾 GMV 超百億,一小時 GMV 近 600 億,零點後交易峰值 32.5 萬筆/秒,支付峰值 25.6 萬筆/秒)的基礎,而 Pouch 容器技術在這一戰略中占據了尤為重要的地位,它對業務沒有任何侵入性,是實現便捷調度,統一基礎運維資源接口的基礎。

據悉,截止到今年雙 11,阿裏已在集團範圍內實現在線服務全部 Pouch 容器化,內部已達到百萬級容器部署規模。

作為一種輕量級、可移植、自包含的軟件打包技術,容器技術可以使應用程序在幾乎任何地方以相同的方式運行。開發人員在自己筆記本上創建並測試好的容器,無需任何修改就能夠在生產係統的虛擬機、物理服務器或公有雲主機上運行。但目前來說,以 Docker 為主的容器技術占據了全球大部分市場,中國企業所占的市場份額少之又少。

自研 Pouch

配置快速簡單、隔離性和安全性強等,這一係列技術特點讓 Docker 成為容器界的網紅。事實上,占據龐大市場份額的 Docker 不失為一個好選擇,為何阿裏會選擇自研容器技術,AI科技評論向孫宏亮提出了這個疑問。

他表示,“阿裏巴巴不能算是一家軟件公司,而是一家技術驅動型公司。在業務的變化之下,需要技術能快速靈活的應對。社區版本的 Docker 的確是業界數一數二的軟件,但是在麵對一些場景時,難免存在開源軟件的弊端。”

他也進一步說明——開源軟件的發布周期是有計劃的,很明確,但在麵對快速變化的業務時,選擇這類軟件不是一個好方法。”技術在很多時候都是為了更好地支撐業務,本著業務第一的角度,始終要在‘follow開源軟件’和‘自研軟件自主可控’方麵做出一個選擇,阿裏巴巴毫無意外選擇了後者‘自研 Pouch 容器技術’。”

出於技術互補的考量,他們將 Docker 技術與阿裏容器技術產品 T4 都做了一些修改整合後,將兩者融合為了一個產品,這個產品在阿裏內部被稱為 AliDocker,也就是 Pouch 的前身。

97e3bd396bda9a471a948de589d24034c6bc7b00

圖:Pouch演進之路

T4 是阿裏在2011年的時候基於 Linux Container(LXC) 開發的容器技術基礎設施。相比 Docker 的模式和理念,T4 其實更適合阿裏內部的運維現狀。T4 是從阿裏內部的資源管理和日常運維中土生土長出來的產品,在誕生的第一天就針對內部基礎設施、運維工具甚至是運維習慣做了很多特別的設計。因此,在阿裏內部進行容器管理時,融合 T4 的 Pouch 技術比起 Docker 來說會稍勝一籌。

958b59d6d9fcbf30d0002e1f5bbbb154244f7e28

圖:阿裏 Pouch 技術曆史

“Docker 誕生並走向流行的主要原因在於其提出的‘鏡像技術’。Docker 對行業產生深遠影響的是 Docker 鏡像,這一點對於大型的互聯網公司而言,相信肯定深有感觸。因此,Docker 鏡像流行開來之後,阿裏巴巴沒有理由不去接受這種給行業帶來大價值的技術。”孫宏亮對AI科技評論說道,“這也就回到了‘阿裏容器技術融合 Docker 鏡像’的這一事實上。另外,一方麵,Docker 社區中一些優秀的設計理念以及好的功能實現,我們也在 Pouch 版本中引入,保障 Pouch 和社區的同步。”

關鍵考慮

Pouch 容器技術的誕生過程中究竟有哪些棘手問題?孫宏亮對AI科技評論說道,“容器的運用不是一個難題,容器技術的大規模運用卻是一個十分棘手的問題。要想實現大規模應用,容器技術必須要有能力覆蓋足夠多的場景。而場景複雜的環境中,安全、性能、穩定問題都會逐漸暴露出來。”

他具體解釋了如下三個關鍵方麵:安全、性能、穩定性。

  • 安全方麵,主要在 Pouch 技術的隔離功能上線這一節點。在這個節點上,阿裏內核也提供了相應的隔離特性,Pouch 也實現了磁盤隔離、網絡隔離等功能,從而初步具備大規模應用的能力。
  • 性能方麵,主要在 Pouch 支持P2P鏡像分發這一節點。企業數據中心集群規模上升之後,容器鏡像的傳輸效率、鏡像倉庫的網絡能力很容易成為瓶頸,為此阿裏巴巴研發了鏡像分發工具“蜻蜓”,保障鏡像分發效率,從而保障業務分發速度。
  • 當安全與性能達標之後,隨著規模的繼續增長,Pouch 的穩定性提升就成為新的發展拐點。Pouch 在2017年雙11的接近一年時間內,投入了巨大精力提升 Pouch 的穩定性,同時對穩定性的指標要求也是不斷在提高。直到今年雙11,1682億交易額背後擁有百萬級容器規模的支撐集群,也極大的驗證了穩定性的戰役取得了不小的成績。

“數年如一日,長時間的技術錘煉與經驗積累,鑄就了阿裏容器今天的成績。阿裏巴巴長時間踩過的坑、走過的彎路,讓 Pouch 以一個務實者的姿態出現在如今的容器生態圈,阿裏認為‘隻有 Pouch 更懂應用,更貼近場景’。”孫宏亮由衷感慨。

他表示,他們目前依然處於攻克一些容器技術難題的過程中,這些技術難題,主要圍繞在容器的安全隔離性方麵。傳統容器主要完全依賴於 Linux 內核的特性提供隔離,而他們認為這樣的隔離方式存在缺陷。他進一步陳述到,

  • 第一,我們 Pouch 團隊積極與阿裏內核團隊展開研究合作,在內核架構層麵提出創新,嚐試讓未來的內核技術解決容器技術的隔離性問題。
  • 與此同時,容器技術在軟硬件結合層麵,依然有很多技術創新的可能性,在基於輕量級虛擬化技術的容器實現中,我們也在於虛擬化團隊嚐試為 Pouch 做硬件適配,保障提供基於 hypervisor 的隔離性,同時提供硬件加速提高效率。

擁抱開源生態

此次開源對阿裏的戰略意義何在?

孫宏亮對AI科技評論如此說道,“雖然目前容器生態中關於容器引擎方麵,已經有了比較成熟的產品,但是阿裏巴巴認為,現有的容器技術在技術落地方麵仍然存在一些不足之處。比如,現有的容器技術,對企業的傳統應用侵入性依然很高,這也就導致了企業在走向雲化,擁抱 Cloud Native 方麵存在現實阻力。而阿裏內部之所以可以做到業務100%容器化,主要是借助阿裏巴巴集團係統軟件部對業務係統的了解,與容器技術 Pouch 的不斷優化。而 Pouch 這方麵的技術優勢,對行業無疑是擁有難以估量的價值的,阿裏巴巴希望通過開源的方式,把經驗和心得與行業共享,真正讓行業在雲化道路上加快進程,早日擁抱 Cloud Native。”

166be69c85a788d00c60733143db00531dd0c2b0

圖:阿裏 Pouch 開源計劃

阿裏巴巴對於 Pouch 的開源計劃則主要圍繞3點:擁抱生態,解耦依賴與合作共建。

  • 擁抱生態是什麼意思呢? 他們希望以標準化的方式去做一些事情,比如,會去兼容 CNCF 基金會中的 kubernetes 生態,會在網絡、存儲等標準化作出貢獻。
  • 解耦依賴,主要是指的阿裏容器技術目前和內部係統仍有部分耦合,他們會解耦依賴,抽離通用部分,貢獻給社區。
  • 合作共建指的是他們會和合作夥伴一起共建生態,目前他們已經和浙江大學SEL實驗室等合作夥伴達成協議,共同參與開源生態,打造國際知名容器品牌。

目前,阿裏巴巴容器技術 Pouch 團隊有十餘位工程師在做開源建設。在采訪中,孫宏亮也提到,他們在持續招聘容器領域的專家,預計到18年上半年,這個團隊會擴大至20人以上。

Pouch 的代碼也已經在 GitHub 公開,大家可以到這個地址查看詳情:

https://github.com/alibaba/pouch

原文發布時間為:2017-11-25

本文作者:Non

本文來自雲棲社區合作夥伴“AI科技評論”,了解相關信息可以關注“AI科技評論”。



最後更新:2017-11-27 10:33:56

  上一篇:go  必讀!教你一鍵遷移至阿裏雲
  下一篇:go  阿裏雲ECS上能否再做虛擬化?