選擇虛擬機還是容器?-【軟件和信息服務】2014.09

最近業內有人在探討一個趨勢-“虛擬機:永遠的光榮還是垂死掙扎呢?”這個探討主要源於Docker公司和Linux容器(Container)的探討。很多人疑惑到底是否容器技術終將取代虛擬機技術。可能你也聽說了Linux容器技術,但並非每個人都花時間研究了容器技術的來龍去脈,這不是一條140字的微博能夠說清的,因此先分享一點背景知識。

關於容器技術

容器技術提供了操作系統級的進程隔離,類似於硬件的虛擬化技術,這也是爲什麼現在會有人提出容器技術將取代虛擬機技術的主要原因。當然,容器技術還是不同於今天的虛擬機技術,它是在操作系統內部來進行進程級的隔離。而我們熟知的虛擬機(基於Hypervisor的虛擬化,這裏不討論操作系統上的虛擬機技術)是基於硬件資源的虛擬化技術上進行隔離,位於操作系統下面。實際容器技術已經有多年的歷史,比如FreeBSDJailSolarisZones等。甚至谷歌也使用容器技術實現了一些功能,並且將這些代碼貢獻給了Linux社區,從而Linux內核已經有一些容器相關的組件。

但是即使有谷歌大佬的助推,也有很多開源大軍的努力,容器技術都沒能引起大家太多的關注。直到大約一年多前Docker這家公司將Linux的容器技術向前推進了一步,使得它可簡化應用封裝,讓應用真正能夠跨不同的Linux發行版運行,包括提供了適應開發流程的API,從而讓容器技術真正引起整個業界的矚目。

容器和虛擬機並非簡單取捨

第一次聽到容器這個概念,很容易將容器技術和虛擬機技術進行對比,但是二者真不是取捨的關係。因爲IT的目標是讓客戶成功,讓客戶成功就意味着要很好地運行和管理客戶的應用,這不是隻靠虛擬機或者容器就能夠完美實現的事情。要想順利運行一個應用就需要一個高效、安全和高可用的架構,這是企業應用的基本需求。比如:檢查點/回覆能力來確保移動性、資源隔離(包括計算、網絡、存儲QoS等)、存儲的快照、複製等確保存儲的可用性等等。也就是說,所有的企業應用都要具有這些能力的基礎架構支撐,無論該應用是運行在虛擬機上或容器裏。目前已經久經考驗的虛擬化技術已經形成了完整的生態圈,確保基礎架構的彈性、可靠性和安全。當然,應用的管理也一樣,虛擬機已經有完善的管理生態圈,確保運行在虛擬機裏的應用能夠很容易達到企業級管理的需求。剛剛起步的容器技術無論從應用運行還是管理維護方面來說,都還是一個小弟,還需要歷練。

虛擬機和容器:SDDC裏的最佳拍檔

其實,虛擬機和容器不是二選一的選擇題,而是可以將二者放在一起,共同提升SDDC的服務能力。當然,無論虛擬機還是容器技術,都是專注解決軟件定義計算的部分,只是SDDC的一個部分,當然也是一個很重要的部分。

首先,容器技術爲應用提供了很好的移植性,讓應用可以輕鬆跨不同架構遷移。但是應用和數據往往不是負載遷移的攔路虎,而運維的需求,包括性能容量管理、安全和管理工具集成往往讓應用部署到新環境困難重重。因此,僅僅解決應用的跨平臺移植只是解決了遷移挑戰的一個小問題。

其次,即使我們相信容器技術和虛擬機技術都能達到同樣的安全隔離等級,基於Linux的容器技術仍然沒有在企業級獲得驗證。Linux容器只是將操作系統的子系統設計成可以跨應用工作,試圖在後來添加隔離特性。這同今天成熟的hypervisor完全不同,Hypervisor基於裸設備設計,從根上解決虛擬機隔離問題。這些Linux容器子系統需要很長時間才能達到虛擬機一樣的成熟度。合規性是另外一個挑戰,任何企業系統都有合規性的要求。虛擬機技術花費了大量時間獲得企業界認可,並通過一系列合規性的審覈,從而獲得今天的江湖地位。我們不懷疑容器技術可能也終將滿足企業合規性要求,但這需要數年的時間。

最後,與其將容器技術和虛擬機技術割裂開來,不如將二者設計成最佳拍檔,因爲容器技術絕對可以運行在虛擬機裏,享受虛擬機帶來的所有優勢,包括:獲得業界認可的隔離能力和安全屬性,另外還可以獲得軟件定義計算之外的所有SDDC的特性,當然也可以獲得虛擬化大量生態圈的支持。

無論用什麼技術,目標都是要確保客戶的成功。將虛擬機和容器技術放在一起,共同打造企業SDDC纔是王道,因爲這兩個技術天生可以相互依存:容器技術爲客戶應用提供絕佳的移植能力,而虛擬機技術則可以爲基礎計算提供安全保障,滿足客戶可靠性、穩定性、合規性需求,同時加上基於虛擬化發展起來的SDDC的其他幾部分技術,才能真正將客戶架構平臺打造成應用和數據的舒適港灣,讓客戶從此乘第三平臺翱翔。

注:本文已經發表在《軟件和信息服務》2014年9月刊上,如果想了解@雲界漫步 對雲計算的最新觀點,請直接訂閱“中國雲夢”微信公衆號。也可微信掃描下面的二維碼,直接訂閱。訂閱”中國雲夢“後,直接回復”10038“閱讀該文。

wKiom1QZNzWjwjcRAAD8-mTvdt8978.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章