《專家觀察 | 郭理靖:“京東云‘蜂鳥(niǎo)’容器服務(wù)”》要點(diǎn):
本文介紹了專家觀察 | 郭理靖:“京東云‘蜂鳥(niǎo)’容器服務(wù)”,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
由工業(yè)和信息化部指導(dǎo),中國(guó)信息通信研究院主辦,業(yè)界知名組織云計(jì)算開(kāi)源產(chǎn)業(yè)聯(lián)盟(OSCAR)承辦的2017全球云計(jì)算開(kāi)源大會(huì)于4月19日-20日在北京國(guó)家會(huì)議中心順利召開(kāi).本文為本屆大會(huì)嘉賓分享的大會(huì)演講速記內(nèi)容,敬請(qǐng)瀏覽.
嘉賓介紹:郭理靖
公司職務(wù):京東云產(chǎn)品部總經(jīng)理
大會(huì)演講速記
大家下午好,很高興來(lái)到這里跟大家分享一下京東在容器方面的經(jīng)驗(yàn).
我分四個(gè)主題,第一、云計(jì)算的下一個(gè)時(shí)代,第二、怎么做容器云的,第三、我們安全怎么做的,第四、容器云經(jīng)典的應(yīng)用場(chǎng)景.
為什么我取云計(jì)算的下一個(gè)時(shí)代是容器的時(shí)代.其實(shí)從虛擬化的實(shí)現(xiàn),在1999年推出虛擬化產(chǎn)品到現(xiàn)在接近20年了,我們伴隨著虛擬化走過(guò)了很長(zhǎng)的年頭.我們慢慢把大部分的應(yīng)用,早在幾年前大部分應(yīng)用都搬到虛擬機(jī)上面去了.
但是我想給大家講的觀點(diǎn)是什么?我覺(jué)得時(shí)至今日,也許我們世界應(yīng)用達(dá)到80%的應(yīng)用都跑到虛擬機(jī)上了,再過(guò)五年后,全球應(yīng)該有50%的應(yīng)用都會(huì)跑到容器上面去,容器其實(shí)就是下一個(gè)時(shí)代,它代替QEN、代替虛擬化的.
我們先看一組數(shù)據(jù),這組數(shù)據(jù)稍微有點(diǎn)過(guò)時(shí),這是2016年的數(shù)據(jù),docker而應(yīng)用程序數(shù)量有46萬(wàn)個(gè),這個(gè)數(shù)據(jù)低估的,全球Docker應(yīng)用數(shù)量絕對(duì)超過(guò)46萬(wàn)的.另外幾個(gè)數(shù)據(jù)都是Docker官方公布的,Docker化相關(guān)的開(kāi)源項(xiàng)目數(shù),包括Docker鏡像下載次數(shù)是41億次.以及Docker項(xiàng)目貢獻(xiàn)的人數(shù)3萬(wàn).
在2015年的時(shí)候,2015年跟2016年Docker使用率從8.2%增長(zhǎng)到10.7%.我預(yù)估今年增長(zhǎng)超過(guò)45%,萬(wàn)事開(kāi)頭難,前面你要教育客戶,讓用戶接受這個(gè)東西都是比較困難的,但是隨著教育普及之后,我覺(jué)得大家應(yīng)用起來(lái)更能接受.
這是容器關(guān)注度趨勢(shì)分析,大家看到接近80%的用戶對(duì)容器技術(shù)非常關(guān)注的.
再看一下2015年跟2016年的對(duì)比,最下面兩個(gè)數(shù)據(jù),在一個(gè)企業(yè)里面同時(shí)運(yùn)行容器的最大量是13萬(wàn),這個(gè)數(shù)據(jù)在2017年肯定被刷新的,我們京東同時(shí)運(yùn)行數(shù)量超過(guò)20萬(wàn)了.有很多容器并不代表同時(shí)運(yùn)行,這個(gè)數(shù)量有能達(dá)到400多萬(wàn)的.相信2017年肯定出現(xiàn)一個(gè)讓大家更震驚的數(shù)字出來(lái).
講完這個(gè)趨勢(shì),我們講講我們京東怎么做容器云的?京東是怎么使用容器的?
京東使用容器非常早,我們?cè)缭?013年當(dāng)時(shí),Docker沒(méi)有出來(lái)我們想自己搞,想搞一個(gè)類似Docker的東西,我們做到一半發(fā)現(xiàn)Docker出現(xiàn)了,我們發(fā)現(xiàn)這個(gè)方案特別適合我們京東,所以我們京東大膽擁抱了容器這個(gè)技術(shù),時(shí)至今日京東大部分都容器化了,而且跑得非常穩(wěn)定了,也可以說(shuō)京東是容器技術(shù)的最大實(shí)踐者.
京東云去年7月1號(hào)正式對(duì)外服務(wù),但是我們?nèi)萜鞣?wù)是今年才上線的.雖然京東是容器技術(shù)的實(shí)踐者,為什么我們公有云上這么晚才提供容器服務(wù),這有很深層次的原因的.
這個(gè)我簡(jiǎn)單介紹一下,我覺(jué)得強(qiáng)調(diào)兩點(diǎn),我們講Docker的時(shí)候,講容器,其實(shí)我們一定要把Docker的組成部分好好解釋一下.
Docker在我看來(lái)有兩部分組成.第一部分是它的輕量級(jí)的隔離技術(shù).另外一部分是Docker自身的Image體系.
大家很多時(shí)候把Docker和容器混為一談,容器是輕量級(jí)的技術(shù),底層還有非常重要的Image的體系,那個(gè)體系才是最關(guān)鍵的我們看來(lái).
隔離的技術(shù)我不用這個(gè)我用其他的也行,我們之前內(nèi)部討論要不要容器化的時(shí)候,我們有很大的爭(zhēng)議,我們有自己的部署,我們有自己微服務(wù)治理,我們有自己的統(tǒng)一配置管理等,什么都全了,我為什么用容器把底層開(kāi)源代替,看起來(lái)價(jià)值不高.
當(dāng)時(shí)采取Docker生態(tài),最大價(jià)值是Docker的Image體系給我?guī)?lái)的優(yōu)勢(shì)非常大的.容器很小,一臺(tái)機(jī)器可以起很多機(jī)器,但是對(duì)我們而言,實(shí)際工作剛才當(dāng)中不可能在一臺(tái)容器起幾千個(gè)場(chǎng)景,反而幾百個(gè)是相對(duì)來(lái)說(shuō)比較常見(jiàn)的.
講講我們京東云提供的容器服務(wù)是什么樣子的?其實(shí)容器在我們看來(lái),容器公有云提供服務(wù)最大問(wèn)題在于它的安全性的問(wèn)題.
因?yàn)榇蠹叶贾繢ocker用的是一個(gè)輕量級(jí)的隔離技術(shù),輕量級(jí)隔離技術(shù)帶來(lái)的問(wèn)題就是說(shuō)如果我兩個(gè)Docker的應(yīng)用,跑在一臺(tái)物理機(jī)上,很有可能A應(yīng)用通過(guò)一些手段容易獲取B應(yīng)用的數(shù)據(jù),這個(gè)在公有云里是不可接受的.
我們做了一些事情,我們用虛擬化的技術(shù)支持Docker的頁(yè)面,讓KAM跑起來(lái)像一個(gè)Docker,實(shí)際上它的用得是虛擬化的技術(shù),它帶來(lái)最大好處就是非常安全,而且它也非常快,傳統(tǒng)起一個(gè)虛擬機(jī)需要一分鐘兩分鐘,我們起一個(gè)容器服務(wù)只需要幾百毫秒,這是一個(gè)示意圖,我們?cè)贙AM上做很多裁減工作.
為什么我們這么做?為什么我們兼容Docker頁(yè)面的體系?最重要我們考慮點(diǎn)就是在標(biāo)準(zhǔn)化和兼容性上.我支持容器整個(gè)鏡像體系的,所以所有容器的原生的image,天然可以跑到我平臺(tái)上面去的,然后我們兼容了DockerAPI的管理工具.
另外我們用開(kāi)源的虛擬化技術(shù),所以跟我們現(xiàn)有虛擬化的技術(shù)完全兼容,我可以用我們傳統(tǒng)提供的SDN,在線遷移工具,包括用我們分布式的存儲(chǔ),以及我們提供容器應(yīng)用的通用化.
然后我們配置非常豐富,KAM做不到最小內(nèi)存做到64兆,傳統(tǒng)公有云上看到最小云主機(jī)是1G的,對(duì)于我們蜂鳥(niǎo)容器而言,我們最小顆粒度做到一核64兆.
大家跑一個(gè)小應(yīng)用用我們這個(gè)最劃算的,因?yàn)槲覀兂杀臼莿e人的十二分之一,我們比別人便宜多了.當(dāng)然我們也支持超大類型的容器,包括32C128G的,接下來(lái)我們提供更大內(nèi)存的容器服務(wù).
講講我們安全怎么解決的?這是一個(gè)簡(jiǎn)單的示意圖,大家在座都用Docker,我不詳細(xì)介紹了,這是一個(gè)Docker跟VM的區(qū)別.
我們看了一下業(yè)界的廠商怎么做容器云服務(wù)的,左邊這些圖都是業(yè)界廠商的標(biāo)準(zhǔn)做法,因?yàn)槲覀兘鉀Q不了Docker帶來(lái)的隔離性問(wèn)題,怎么辦?我用傳統(tǒng)的隔離辦法解決.
大部分廠商在公有云上提供容器服務(wù),或者你在公有云搭建自己的容器的時(shí)候,你采取做法就是我買很多虛擬機(jī),在虛擬機(jī)我在去做容器,我把虛擬機(jī)當(dāng)做物理機(jī)來(lái)用,這樣我就把安全屏蔽掉了,因?yàn)槲覀儾豢赡茉谖锢頇C(jī)上直接給用戶提供容器服務(wù),這樣不安全了.
右邊是我們做法,我們可以在一個(gè)物理機(jī)上起不同用戶的容器服務(wù),而且能做到安全隔離,這樣我比其他廠商而言,我們的容器顆粒度也小,用于管理容器管理工具的損耗也很小.
現(xiàn)在講講典型的應(yīng)用場(chǎng)景,前面嘉賓也講了很多,做容器跟微服務(wù),我跟大家分享一下我們?cè)趺纯创萜骱臀⒎?wù)的?
微服務(wù)概念出來(lái)的時(shí)間也不晚,2004年就有人提出微服務(wù)的概念,我們以前講敏捷、微服務(wù)、DevOps,微服務(wù)+敏捷+DevOps一定帶來(lái)便捷嗎?
這個(gè)觀點(diǎn)不對(duì)的,敏捷、微服務(wù)、DevOps提供一些工具和理念,關(guān)鍵組織是不是很敏捷,組織有沒(méi)有同樣的文化,同樣的思想,有沒(méi)有接受這樣的概念,如果一個(gè)組織沒(méi)有這樣的概念,用了再多的微服務(wù)、敏捷、DevOps,其實(shí)對(duì)于你開(kāi)發(fā)生產(chǎn)并沒(méi)有多少提高.
Docker出現(xiàn)給微服務(wù)帶來(lái)了契機(jī),微服務(wù)帶來(lái)的部署成本、運(yùn)維正本、服務(wù)治理成本非常高,剛好容器Docker的出現(xiàn)彌補(bǔ)了微服務(wù)的缺點(diǎn),所以時(shí)至今日我們講微服務(wù)的時(shí)候一定會(huì)講到微服務(wù)
感覺(jué)這兩個(gè)東西天然在一塊一樣,其實(shí)不然的,其實(shí)微服務(wù)的概念出現(xiàn)時(shí)間比容器早很多,早十年.只是說(shuō)容器出現(xiàn)之后把微服務(wù)那些弊端基本上都解決掉了.然后容器發(fā)現(xiàn)微服務(wù)是它最好的服務(wù)場(chǎng)景.
所以我們講容器一定會(huì)討論微服務(wù),討論微服務(wù)一定會(huì)講容器.
下面是講一下DevOps,DevOps不僅是在部署生產(chǎn)上容器有它自己的優(yōu)勢(shì),更重要我們開(kāi)發(fā)者在當(dāng)前進(jìn)行開(kāi)發(fā)帶來(lái)的便利性非常關(guān)鍵的.
我自己研發(fā)出身的,我們以前開(kāi)發(fā)過(guò)程中最痛苦的事情就是我要跟別人進(jìn)行聯(lián)調(diào),我要?jiǎng)e人的聯(lián)調(diào)環(huán)境,我進(jìn)度依賴別人給我提供的聯(lián)調(diào)環(huán)境,整個(gè)公司整個(gè)組織一個(gè)部門,整個(gè)應(yīng)用全部聯(lián)化,在一個(gè)開(kāi)發(fā)者筆記本上我能部署一套比較完整的DevOps環(huán)境.
別看這是很小一個(gè)進(jìn)步,其實(shí)對(duì)整個(gè)研發(fā)效率提升很大,至少提升了50%,因?yàn)槟阍诖笮推髽I(yè)你開(kāi)發(fā)跟其他部門有很強(qiáng)烈的依賴關(guān)系.
以上是我們京東云的實(shí)踐,我總共給大家講一個(gè)關(guān)鍵,第一個(gè)我覺(jué)得容器是一個(gè)未來(lái).
第二個(gè)在公有云上提供容器云服務(wù)的話,我覺(jué)得采取像我們服務(wù)方式是比較合適的.也可以給開(kāi)發(fā)者帶來(lái)更多的便利.謝謝大家.
文章來(lái)自微信公眾號(hào):云計(jì)算開(kāi)源產(chǎn)業(yè)聯(lián)盟
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/4144.html