阿里雲王牌架構師二問開發者:容器和虛擬化你會怎麼選?
來自專欄我是程序員21 人贊了文章
摘要:隨著IT技術的發展,特別是serverless概念被提出以後,網路上出現了很多唱衰虛擬化以及對未來虛擬化方向的討論,很多文章都做了vm和容器的對比,任何一種技術存在都有其合理性,我們不妨客觀分析兩種技術的特點選擇適合自己業務的,才是最重要的,開始之前先再簡單介紹下兩種
世界最大混合雲的總架構師,4年前,開始作為雙11阿里雲技術負責人,負責搭建全球最大的混合雲結構,把 「雙11」的電商業務和技術場景在阿里雲上實現,並保障這個混合雲在雙11當天能夠滿足全球客戶的購物需求。
正文:
隨著IT技術的發展,特別是serverless概念被提出以後,網路上出現了很多唱衰虛擬化以及對未來虛擬化方向的討論,很多文章都做了vm和容器的對比,任何一種技術存在都有其合理性,我們不妨客觀分析兩種技術的特點選擇適合自己業務的,才是最重要的,開始之前先再簡單介紹下兩種。
技術的定義:
所謂虛擬機(VM)就是對操作系統的完全模擬,虛擬機是架構在虛擬化指令之上,需要特定的硬體、軟體同時的支持,,每台虛擬機會預分配需要的資源,包括CPU,內存,磁碟等,以及一個完整的用戶操作系統
容器就是隔離一個運行環境,每個封裝好的隔離環境我們就稱為一個容器,容器包含應用以及其運行的依賴包,容器之間大家互相共享內核,所有的容器在宿主機操作系統中以分離的進程運行。從圖上可以看出容器和虛擬機最大的區別就是容器沒有Hypervisor這一層,每個容器和宿主機共享資源,主要為了解決了傳統Hypervisor帶來的性能開銷;反之,虛擬化創造的是更加隔離的環境,每個虛擬機有獨立的guest os,大家各自封閉運行,所有應用程序跑在虛擬機內部,不會因為某個虛擬機內部應用程序
的漏洞給宿主機造成危害,虛擬化技術是在硬體資源層面的虛擬,容器技術則是對應操作系統的進程層面,下面從幾個方面做進一步對比:
容器技術之所以火的原因筆者總結主要有三個:
1.傳統IT訴求的演進
隨著資源利用率,設備可維護性等問題的解決,人們對於資源的關注從基礎iaas層開始向上發展,特別是微服務等概念的提出,大家都從一個大而全的應用演變成希望一個應用就只完成某個特定的功能,,更希望今天我們的開發是開箱即得,按需索取,並且 "build once,run everywhere,徹底解決應用的部署,分發,可用性,可運維性,監控等問題運維等問題,特別是線上線下的兼容性,我相信很多開發都遇到測試環境調通一到線上就掛的囧境,為什麼—環境不一致導致,今天容器又天然就和微服務的理念是match的。
DevOps最佳實踐
運維這個職位是個吃力不討好的高危行業,干對了你是應該了,干錯了第一個責任人就是你,運維本身不像研發沒有實際產出,不出問題的時候大家不會感覺到你的存在,所以作為運維的職業如何在公司快速發展的業務過程中找到自我價值和定位是很多運維人在探索的方向,google最早對運維進行了重新定義,提出SRE的概念,並且結合devops在實際工作中的落地,取得了很好的效果,阿里在這條路上也進行了探索,並且覺得docker是最佳的落地方式,今天阿里也在做大規模的docker化,今天做docker化是為了解決我們環境不一致問題,提升我們的開發和發布效率,在阿里內部,docker和虛擬化根據各自處理場景的不通相互融合的非常好。
最底層的ECS服務可以是多種介質的異構,傳統的kvm,最新的神龍裸金屬伺服器,GPU,FPA方案,上層可以直接對用戶提供VM,也可以是容器,所以的容器服務都基於ECS來構建,最頂層的業務平台根據自身需求可以通過k8來進行容器的定義也可以通過paas平台直接調用api進行虛擬資源的彈性伸縮。
對性能的要求
傳統部署在物理機上的高IO業務有服務化需求之後自然想到的就是docker+物理機,例如資料庫服務,在未經優化的情況下,在虛擬機化上跑I/O業務性能將受損失。經過可靠的測試虛擬化對於物理硬體的損耗在優化的情況下也要有5%左右。
未來大部分業務系統將會變成虛擬機+Docker形式的組合,操作系統和Docker本身採用虛擬機鏡像方式部署,軟體、業務依賴組件,業務定義等與業務相關屬性採用容器鏡像,既實現安全隔離有提升資源的高利用率。
當然我們需要去優化和解決虛擬化以及容器帶來的性能損耗,阿里雲在裸金屬伺服器上的探索通過將虛擬化邏輯offload到神龍的MOC卡中,通過專有硬體方案來解決虛擬化的損耗,這樣物理機本身的性能就和普通PC無異,完全給到業務使用,基於裸金屬的方案可以跑anystack的方案,可以支持xen,kvm,vmware等,在阿里內部,已經開源的pouch通過內部大量場景的優化加上基於神龍的底座方案可以將整個三層的損耗做到<3%,讓我們既做到了服務化又不損失性能。
更多乾貨內容盡在阿里雲總監課,戳鏈接報名:http://click.aliyun.com/m/1000011882/
阿里雲總監系列課重磅上線!聚焦人工智慧、彈性計算、資料庫等熱門領域,首次集齊12位阿里雲技術高管,耗時半年精心打磨,從理論到實踐傾囊相授,從零開始繪製技術大牛成長路徑,限時直播課程免費報名中!
本文作者:雲攻略小攻
原文鏈接
更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎
本文為雲棲社區原創內容,未經允許不得轉載。
推薦閱讀:
※分散式架構與微服務架構——成為高級架構師,你想要的都在這裡
※《App架構師實踐指南》
※58架構師解讀:如何優化秒殺業務的架構?
※架構控制的從權問題
※綠城關鍵時刻:內部架構大調整 輕重並舉啟動高周轉