0
雷鋒網(wǎng) AI科技評論按,日前,在2017中國開源年會上,阿里巴巴自研容器技術 Pouch 宣布開源。在雙十一買買買的狂潮之后,阿里選擇第一時間將 Pouch 技術開源,無疑,這又一次吸引無數(shù)開發(fā)者的目光。
借助阿里將自研容器技術 Pouch 開源的契機,雷鋒網(wǎng) AI科技評論第一時間采訪到阿里 Pouch 技術的開源負責人孫宏亮。他目前負責的內(nèi)容包含制定 Pouch 技術發(fā)展方向,管理與維護 Pouch 開源社區(qū)。AI 科技評論與他詳細探討了 Pouch 技術的一些關鍵細節(jié),此次開源的緣由以及下一步的展望。
圖:阿里 Pouch 技術開源負責人孫宏亮
阿里“云化戰(zhàn)略”與容器技術
談及 Pouch 技術之前,先來說說阿里在今年雙十一的“云化戰(zhàn)略”。云化技術戰(zhàn)略是阿里集團基礎設施近年來一直在努力的方向,這其中包括混合云、資源 Pouch 容器化、統(tǒng)一調度、存儲計算分離和混部等多項技術的不斷突破和創(chuàng)新。這一戰(zhàn)略是支撐今年龐大支付量(3 分鐘 GMV 超百億,一小時 GMV 近 600 億,零點后交易峰值 32.5 萬筆/秒,支付峰值 25.6 萬筆/秒)的基礎,而 Pouch 容器技術在這一戰(zhàn)略中占據(jù)了尤為重要的地位,它對業(yè)務沒有任何侵入性,是實現(xiàn)便捷調度,統(tǒng)一基礎運維資源接口的基礎。
據(jù)悉,截止到今年雙 11,阿里已在集團范圍內(nèi)實現(xiàn)在線服務全部 Pouch 容器化,內(nèi)部已達到百萬級容器部署規(guī)模。
作為一種輕量級、可移植、自包含的軟件打包技術,容器技術可以使應用程序在幾乎任何地方以相同的方式運行。開發(fā)人員在自己筆記本上創(chuàng)建并測試好的容器,無需任何修改就能夠在生產(chǎn)系統(tǒng)的虛擬機、物理服務器或公有云主機上運行。但目前來說,以 Docker 為主的容器技術占據(jù)了全球大部分市場,中國企業(yè)所占的市場份額少之又少。
自研 Pouch
配置快速簡單、隔離性和安全性強等,這一系列技術特點讓 Docker 成為容器界的網(wǎng)紅。事實上,占據(jù)龐大市場份額的 Docker 不失為一個好選擇,為何阿里會選擇自研容器技術,AI科技評論向孫宏亮提出了這個疑問。
他表示,“阿里巴巴不能算是一家軟件公司,而是一家技術驅動型公司。在業(yè)務的變化之下,需要技術能快速靈活的應對。社區(qū)版本的 Docker 的確是業(yè)界數(shù)一數(shù)二的軟件,但是在面對一些場景時,難免存在開源軟件的弊端?!?/p>
他也進一步說明——開源軟件的發(fā)布周期是有計劃的,很明確,但在面對快速變化的業(yè)務時,選擇這類軟件不是一個好方法?!奔夹g在很多時候都是為了更好地支撐業(yè)務,本著業(yè)務第一的角度,始終要在‘follow開源軟件’和‘自研軟件自主可控’方面做出一個選擇,阿里巴巴毫無意外選擇了后者‘自研 Pouch 容器技術’。”
出于技術互補的考量,他們將 Docker 技術與阿里容器技術產(chǎn)品 T4 都做了一些修改整合后,將兩者融合為了一個產(chǎn)品,這個產(chǎn)品在阿里內(nèi)部被稱為 AliDocker,也就是 Pouch 的前身。
圖:Pouch演進之路
T4 是阿里在2011年的時候基于 Linux Container(LXC) 開發(fā)的容器技術基礎設施。相比 Docker 的模式和理念,T4 其實更適合阿里內(nèi)部的運維現(xiàn)狀。T4 是從阿里內(nèi)部的資源管理和日常運維中土生土長出來的產(chǎn)品,在誕生的第一天就針對內(nèi)部基礎設施、運維工具甚至是運維習慣做了很多特別的設計。因此,在阿里內(nèi)部進行容器管理時,融合 T4 的 Pouch 技術比起 Docker 來說會稍勝一籌。
圖:阿里 Pouch 技術歷史
“Docker 誕生并走向流行的主要原因在于其提出的‘鏡像技術’。Docker 對行業(yè)產(chǎn)生深遠影響的是 Docker 鏡像,這一點對于大型的互聯(lián)網(wǎng)公司而言,相信肯定深有感觸。因此,Docker 鏡像流行開來之后,阿里巴巴沒有理由不去接受這種給行業(yè)帶來大價值的技術?!睂O宏亮對AI科技評論說道,“這也就回到了‘阿里容器技術融合 Docker 鏡像’的這一事實上。另外,一方面,Docker 社區(qū)中一些優(yōu)秀的設計理念以及好的功能實現(xiàn),我們也在 Pouch 版本中引入,保障 Pouch 和社區(qū)的同步?!?/p>
關鍵考慮
Pouch 容器技術的誕生過程中究竟有哪些棘手問題?孫宏亮對AI科技評論說道,“容器的運用不是一個難題,容器技術的大規(guī)模運用卻是一個十分棘手的問題。要想實現(xiàn)大規(guī)模應用,容器技術必須要有能力覆蓋足夠多的場景。而場景復雜的環(huán)境中,安全、性能、穩(wěn)定問題都會逐漸暴露出來?!?/p>
他具體解釋了如下三個關鍵方面:安全、性能、穩(wěn)定性。
安全方面,主要在 Pouch 技術的隔離功能上線這一節(jié)點。在這個節(jié)點上,阿里內(nèi)核也提供了相應的隔離特性,Pouch 也實現(xiàn)了磁盤隔離、網(wǎng)絡隔離等功能,從而初步具備大規(guī)模應用的能力。
性能方面,主要在 Pouch 支持P2P鏡像分發(fā)這一節(jié)點。企業(yè)數(shù)據(jù)中心集群規(guī)模上升之后,容器鏡像的傳輸效率、鏡像倉庫的網(wǎng)絡能力很容易成為瓶頸,為此阿里巴巴研發(fā)了鏡像分發(fā)工具“蜻蜓”,保障鏡像分發(fā)效率,從而保障業(yè)務分發(fā)速度。
當安全與性能達標之后,隨著規(guī)模的繼續(xù)增長,Pouch 的穩(wěn)定性提升就成為新的發(fā)展拐點。Pouch 在2017年雙11的接近一年時間內(nèi),投入了巨大精力提升 Pouch 的穩(wěn)定性,同時對穩(wěn)定性的指標要求也是不斷在提高。直到今年雙11,1682億交易額背后擁有百萬級容器規(guī)模的支撐集群,也極大的驗證了穩(wěn)定性的戰(zhàn)役取得了不小的成績。
“數(shù)年如一日,長時間的技術錘煉與經(jīng)驗積累,鑄就了阿里容器今天的成績。阿里巴巴長時間踩過的坑、走過的彎路,讓 Pouch 以一個務實者的姿態(tài)出現(xiàn)在如今的容器生態(tài)圈,阿里認為‘只有 Pouch 更懂應用,更貼近場景’?!睂O宏亮由衷感慨。
他表示,他們目前依然處于攻克一些容器技術難題的過程中,這些技術難題,主要圍繞在容器的安全隔離性方面。傳統(tǒng)容器主要完全依賴于 Linux 內(nèi)核的特性提供隔離,而他們認為這樣的隔離方式存在缺陷。他進一步陳述到,
第一,我們 Pouch 團隊積極與阿里內(nèi)核團隊展開研究合作,在內(nèi)核架構層面提出創(chuàng)新,嘗試讓未來的內(nèi)核技術解決容器技術的隔離性問題。
與此同時,容器技術在軟硬件結合層面,依然有很多技術創(chuàng)新的可能性,在基于輕量級虛擬化技術的容器實現(xiàn)中,我們也在于虛擬化團隊嘗試為 Pouch 做硬件適配,保障提供基于 hypervisor 的隔離性,同時提供硬件加速提高效率。
擁抱開源生態(tài)
此次開源對阿里的戰(zhàn)略意義何在?
孫宏亮對AI科技評論如此說道,“雖然目前容器生態(tài)中關于容器引擎方面,已經(jīng)有了比較成熟的產(chǎn)品,但是阿里巴巴認為,現(xiàn)有的容器技術在技術落地方面仍然存在一些不足之處。比如,現(xiàn)有的容器技術,對企業(yè)的傳統(tǒng)應用侵入性依然很高,這也就導致了企業(yè)在走向云化,擁抱 Cloud Native 方面存在現(xiàn)實阻力。而阿里內(nèi)部之所以可以做到業(yè)務100%容器化,主要是借助阿里巴巴集團系統(tǒng)軟件部對業(yè)務系統(tǒng)的了解,與容器技術 Pouch 的不斷優(yōu)化。而 Pouch 這方面的技術優(yōu)勢,對行業(yè)無疑是擁有難以估量的價值的,阿里巴巴希望通過開源的方式,把經(jīng)驗和心得與行業(yè)共享,真正讓行業(yè)在云化道路上加快進程,早日擁抱 Cloud Native。”
圖:阿里 Pouch 開源計劃
阿里巴巴對于 Pouch 的開源計劃則主要圍繞3點:擁抱生態(tài),解耦依賴與合作共建。
擁抱生態(tài)是什么意思呢? 他們希望以標準化的方式去做一些事情,比如,會去兼容 CNCF 基金會中的 kubernetes 生態(tài),會在網(wǎng)絡、存儲等標準化作出貢獻。
解耦依賴,主要是指的阿里容器技術目前和內(nèi)部系統(tǒng)仍有部分耦合,他們會解耦依賴,抽離通用部分,貢獻給社區(qū)。
合作共建指的是他們會和合作伙伴一起共建生態(tài),目前他們已經(jīng)和浙江大學SEL實驗室等合作伙伴達成協(xié)議,共同參與開源生態(tài),打造國際知名容器品牌。
目前,阿里巴巴容器技術 Pouch 團隊有十余位工程師在做開源建設。在采訪中,孫宏亮也提到,他們在持續(xù)招聘容器領域的專家,預計到18年上半年,這個團隊會擴大至20人以上。
Pouch 的代碼也已經(jīng)在 GitHub 公開,大家可以點擊 https://github.com/alibaba/pouch 查看詳情。
雷鋒網(wǎng),AI科技評論編輯。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。