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