圍繞容器的炒作正席卷整個行業,這對虛擬機意味著什么?
兩年前,當Frank Macreery創立Aptible來幫助企業在云計算中托管敏感醫療數據時,作為首席技術官,他認為容器將在該公司的運營中發揮重要的作用。
“在虛擬機(VM)上運行我們的服務會很難看,”他表示,“我無法想象沒有容器怎么做。”
容器炒作正席卷云計算和虛擬化行業。很多開發商意識到封裝應用程序代碼輕量級方式的優勢,很多大牌公司(包括亞馬遜云計算服務、Red Hat、IBM和VMware等)都加入容器的行列。
這不禁讓人想問:容器的崛起是否標志著虛擬化和虛擬機的結束?
結構性破壞
“現在正在發生一個結構性的破壞,”云計算供應商Joyent公司首席技術官Bryan Cantrill表示,“我們現在對VM所做的正是VM對物理機器所做的事情。”
容器不是新技術:容器的最早版本已經在開源Linux代碼中存在了幾十年。但在過去的一年里,容器已經俘獲了不少開放商的心。容器可以隔離特定代碼、應用程序或進程,這樣做可以更好地管理容器,包括跨不同主機的移動。雖然虛擬機可以將服務器分為多個操作系統,而容器運行在操作系統之上,因此,不同于VM,它們在創建后不需要操作系統來啟動。從本質上來說,它們可以虛擬化操作系統來提供更輕量級的應用程序封裝。
Cantrill表示,這意味著最好在裸機服務器運行容器,即沒有虛擬機管理程序和虛擬機的服務器。他指出:“虛擬機在容器世界中根本沒有意義,Joyent已經構建了自己的SmartOS操作系統,以在容器上助力器云計算。”
那么,容器的崛起是否會抹殺VM?
“并不只是Bryan這樣認為,”451研究所Jay Lyman稱,但Lyman認為VM還沒有終止,“現實情況是,VM是現代企業IT的重要組成部分,沒有什么可以很快取代它們或者抹殺它們。”
容器在某些情況下很好用,但它們也不是萬能的。“你應該將容器作為云計算開發中的又一利器,”Cloud Technology Partners公司顧問David Linthicum稱,“它們適合于某些情況,但不是全部。”
確定在何處以及何時使用容器是重要問題。
天作之合
對于Aptible公司的Macreery,容器非常適合其公司用于托管敏感醫療數據的平臺。該公司創立于2013年,一年后其產品開始全面上市,他們使用亞馬遜云計算服務的彈性計算云(EC2)服務,并在這些基于云的虛擬機之上運行Docker容器鏡像。由于該公司需要處理敏感醫療信息,Aptible為每位客戶創建了一個單獨的虛擬私有云(VPC)來運行容器。
與虛擬機相比(+微信關注網絡世界),容器可以實現更容易的管理。首先,容器為Aptible管理的所有數據(存儲在容器中的所有信息)提供一致的設計架構。如果客戶或Aptible需要更新任何東西,新容器就會被創建和啟動,這只需要不到一秒鐘。在另一方面,虛擬機可能需要一分鐘來啟動。容器的靈活性是另一個好處:Aptible能夠在單個虛擬機分布多個容器,或者在多個虛擬機分布大型容器。這里的關鍵是,當所有數據和應用程序看起來一樣時,Aptible可以更容易地管理其服務,因為它們都被整齊地封裝到容器中。
這個架構非常適用于Aptible公司,但并不一定適用于所有公司。Gartner公司分析師Lydia Leong稱,面對容器的興起,異構環境(包括多種操作系統和不同的安全控制)的用戶可能仍然會使用虛擬機為中心的架構。容器需要運行相同的操作系統,例如,不能混合使用Linux和Windows操作系統。但大型企業環境中可以混合使用虛擬服務及裸機物理主機。
開始使用容器
那么,你如何開始使用容器?云計算和虛擬化市場的供應商已經在很大程度上加入容器的陣列。Docker(這同時是開源項目和一家公司的名稱)最近一直是容器運動的中心。其他開源項目(例如谷歌的Kubernetes)幫助管理多個容器,也已經開始普及。
例如亞馬遜云計算服務,這個市場領先的IaaS公司去年秋天推出了亞馬遜彈性容器服務(ECS),并在這個月正式推出該服務。在AWS客戶啟動容器后,ECS將負責擴展容器,并提供中央管理門戶網站來追蹤它們。
另外,微軟本月初發布了新的“nano”操作系統,將支持在Windows操作系統運行的容器。
其他公司也開始提供容器支持。虛擬化軟件的主要供應商VMware已經宣布將支持容器。該公司云計算高管之一Mathew Lodge表示,在虛擬機內運行容器允許用戶保持安全性和管理控制。而直接在裸機運行容器需要配置網絡和安全連接,VM可以在管理系統中處理。