標籤:虛擬機器 容器 sddc
最近業內有人在探討一個趨勢-“虛擬機器:永遠的光榮還是垂死掙紮呢?”這個探討主要源於Docker公司和Linux容器(Container)的探討。很多人疑惑到底是否容器技術終將取代虛擬機器技術。可能你也聽說了Linux容器技術,但並非每個人都花時間研究了容器技術的來龍去脈,這不是一條140字的微博能夠說清的,因此先分享一點背景知識。
關於容器技術
容器技術提供了作業系統級的進程隔離,類似於硬體的虛擬化技術,這也是為什麼現在會有人提出容器技術將取代虛擬機器技術的主要原因。當然,容器技術還是不同於今天的虛擬機器技術,它是在作業系統內部來進行進程級的隔離。而我們熟知的虛擬機器(基於Hypervisor的虛擬化,這裡不討論作業系統上的虛擬機器技術)是基於硬體資源的虛擬化技術上進行隔離,位於作業系統下面。實際容器技術已經有多年的曆史,比如FreeBSDJail和SolarisZones等。甚至Google也使用容器技術實現了一些功能,並且將這些代碼貢獻給了Linux社區,從而Linux核心已經有一些容器相關的組件。
但是即使有Google大佬的助推,也有很多開源大軍的努力,容器技術都沒能引起大家太多的關注。直到大約一年多前Docker這家公司將Linux的容器技術向前推進了一步,使得它可簡化應用封裝,讓應用真正能夠跨不同的Linux發行版運行,包括提供了適應開發流程的API,從而讓容器技術真正引起整個業界的矚目。
容器和虛擬機器並非簡單取捨
第一次聽到容器這個概念,很容易將容器技術和虛擬機器技術進行對比,但是二者真不是取捨的關係。因為IT的目標是讓客戶成功,讓客戶成功就意味著要很好地運行和管理客戶的應用,這不是只靠虛擬機器或者容器就能夠完美實現的事情。要想順利運行一個應用就需要一個高效、安全和高可用的架構,這是公司專屬應用程式的基本需求。比如:檢查點/回複能力來確保移動性、資源隔離(包括計算、網路、儲存QoS等)、儲存的快照、複製等確儲存儲的可用性等等。也就是說,所有的公司專屬應用程式都要具有這些能力的基礎架構支撐,無論該應用是運行在虛擬機器上或容器裡。目前已經久經考驗的虛擬化技術已經形成了完整的生態圈,確保基礎架構的彈性、可靠性和安全。當然,應用的管理也一樣,虛擬機器已經有完善的管理生態圈,確保運行在虛擬機器裡的應用能夠很容易達到企業級管理的需求。剛剛起步的容器技術無論從應用運行還是管理維護方面來說,都還是一個小弟,還需要曆練。
虛擬機器和容器:SDDC裡的最佳拍檔
其實,虛擬機器和容器不是二選一的選擇題,而是可以將二者放在一起,共同提升SDDC的服務能力。當然,無論虛擬機器還是容器技術,都是專註解決軟體定義程式計算的部分,只是SDDC的一個部分,當然也是一個很重要的部分。
首先,容器技術為應用提供了很好的移植性,讓應用可以輕鬆跨不同架構遷移。但是應用和資料往往不是負載遷移的攔路虎,而營運的需求,包括效能容量管理、安全和管理工具整合往往讓應用部署到新環境困難重重。因此,僅僅解決應用的跨平台移植只是解決了遷移挑戰的一個小問題。
其次,即使我們相信容器技術和虛擬機器技術都能達到同樣的安全隔離等級,基於Linux的容器技術仍然沒有在企業級獲得驗證。Linux容器只是將作業系統的子系統設計成可以跨應用工作,試圖在後來添加隔離特性。這同今天成熟的hypervisor完全不同,Hypervisor基於裸裝置設計,從根上解決虛擬機器隔離問題。這些Linux容器子系統需要很長時間才能達到虛擬機器一樣的成熟度等級。合規性是另外一個挑戰,任何企業系統都有合規性的要求。虛擬機器技術花費了大量時間獲得企業界認可,並通過一系列合規性的審核,從而獲得今天的江湖地位。我們不懷疑容器技術可能也終將滿足企業合規性要求,但這需要數年的時間。
最後,與其將容器技術和虛擬機器技術割裂開來,不如將二者設計成最佳拍檔,因為容器技術絕對可以運行在虛擬機器裡,享受虛擬機器帶來的所有優勢,包括:獲得業界認可的隔離能力和安全屬性,另外還可以獲得軟體定義程式計算之外的所有SDDC的特性,當然也可以獲得虛擬化大量生態圈的支援。
無論用什麼技術,目標都是要確保客戶的成功。將虛擬機器和容器技術放在一起,共同打造企業SDDC才是王道,因為這兩個技術天生可以相互依存:容器技術為客戶應用提供絕佳的移植能力,而虛擬機器技術則可以為基礎計算提供安全保障,滿足客戶可靠性、穩定性、合規性需求,同時加上基於虛擬化發展起來的SDDC的其他幾部分技術,才能真正將客戶架構平台打造成應用和資料的舒適港灣,讓客戶從此乘第三平台翱翔。
註:本文已經發表在《軟體和資訊服務》2014年9月刊上,如果想瞭解@雲界漫步 對雲端運算的最新觀點,請直接訂閱“中國雲夢”公眾號。也可掃描下面的二維碼,直接訂閱。訂閱”中國雲夢“後,直接回複”10038“閱讀該文。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/49/B2/wKiom1QZNzWjwjcRAAD8-mTvdt8978.jpg" title="getqrcode.jpg" alt="wKiom1QZNzWjwjcRAAD8-mTvdt8978.jpg" />
本文出自 “中國雲夢” 部落格,請務必保留此出處http://virtualman.blog.51cto.com/200540/1554361
選擇虛擬機器還是容器?-【軟體和資訊服務】2014.09