非虛擬機IaaS模型之利弊分析 |
發布時間: 2012/8/18 19:46:11 |
雖然基礎設施即服務(IaaS)常被稱為虛擬數據中心的前身,但是并不是所有的IaaS平臺都是構建于虛擬機基礎之上的。在你的私有云計算中使用非虛擬機的IaaS模型可能是將其帶入一個新水平的一項重要戰略——即一個融合IaaS、SaaS以及PaaS的混合服務云計算。 大多數虛擬化軟件使用一個管理程序來對服務器進行虛擬機分配,每個虛擬機運行它們自己的底層操作系統、中間件以及應用程序的副本。當IaaS以這一虛擬化模型為基礎時,一個云計算管理者把圖像和資源分配至每個虛擬機。因為每個虛擬機都是相互獨立的,所以任何可以在本機硬件上運行的應用程序都可以在虛擬機上運行。這是基于虛擬化IaaS的優勢。 但是基于虛擬機的IaaS也有著其局限性。隨著特定云計算應用程序的開發,已經沒有什么理由能夠支持虛擬機托管的做法了,因為它們不依賴于虛擬化。面向服務架構(SOA)、多任務以及多線程原理都可以應用于編寫運行于一個操作系統而無須操作系統或中間件互相復制的云計算組件。 在提供IaaS的同時,你應當如何創建一個運行特定云計算軟件的云計算平臺呢?答案是創建容器、虛擬環境或者所謂的“Jails”。鑒于本文的初衷,我們將使用術語“虛擬環境”或其簡稱VE. 使用虛擬環境構建基于操作系統的IaaS云計算 VE是托管操作系統的分區,該操作系統分隔客戶操作系統和應用程序,并允許它們在一個多租戶環境中正常運行。與在主機內多任務支持下運行的一般線程或應用程序不同,雖然還達不到在基于管理程序虛擬化中的程度,但是客戶VE是互相保護的。與支持近乎全部操作系統或中間件基于管理程序的虛擬化不同,VE希望所有的客戶操作系統都與主機運行的操作系統相同。雖然這降低了成本開銷,但也限制了靈活性,這就成為了你仔細選擇正確IaaS平臺以確保與現有和未來應用程序全方位兼容性的關鍵。 最流行的VE托管軟件平臺是支持Linux操作系統的OpenVZ和VServer、BSD Unix操作系統的FreeBSD Jail、Solaris(包括Open Solaris)的Container/Zone以及微軟公司Windows Azure支持的虛擬機 Role.Oracle公司和Joyent公司都提供了一個Container/Zone平臺的定制商用版。Joyent公司的SmartOS融合了對硬件虛擬化(Xen)和Solaris Zone的支持;該公司將其產品構建于大型數據模型Solaris ZFS基礎之上。 基于虛擬環境IaaS模型所面臨的難題 人們很容易把基于虛擬化環境的云計算模型當作是最終的云計算戰略,至少是IaaS和混合模型云計算服務的。但是,至少這些云計算模型中有一些帶來了管理復雜性、云計算安全的關注以及對應用程序狀態不斷更新的抱怨等問題。 管理復雜性雖然基于虛擬化環境IaaS模型中使用了單一的操作系統,但是其云計算管理可能更為復雜。目前而言,IaaS中還沒有一種操作系統級的非虛擬機戰略可以取代云計算控制的功能,除非所有的云計算VE都在一臺機器上,而這是極不可能的。你仍然需要整合一個可以模仿管理程序的云計算控制軟件,例如Eucalyptus、OpenStack、Nebula以及其它開源云計算供應商所提供的云計算控制產品。因為,大多數用戶都構建基于虛擬機的IaaS云計算,所以可能很難找到關于如何執行這一整合任務的詳細信息。所以,只能研究現有基于VE IaaS設置的示例,并評估這一變革是否會影響其它操作。 安全性問題。IaaS的一個主要假設就是應用程序是由高效托管虛擬服務器的主機進行托管的,但是它并不總是出現在VE模型中。虛擬機在夜晚提供;他們互相之間有一個很小的互動。在另一方面,VE引入了應用程序之間對資源使用和性能的通信。但是,這也為VE帶來了極易發生的跨應用程序云計算安全問題。事先了解這些安全問題并確保它們不會影響未來的服務機會是非常重要的。 狀態不斷變化的應用程序。故障模式是如何托管服務中的重中之重;赩E的云計算所面臨的托管操作系統故障風險,可能會導致所有客戶操作系統受到影響。因為,基于虛擬機 IaaS模型中的管理程序有最小的應用功能和最少的邏輯功能,所以發生故障的風險也較低。例如,當角色發生故障時,其相應具有該Windows Azure虛擬機角色的應用程序也不會繼續保留下去;虛擬機應用程序應當遵循RESTful的無狀態原則,以避免數據丟失。 基于VE的IaaS模型確實有一些缺點,但還沒有到完全被否定的嚴重程度。促進與融合IaaS、PaaS以及SaaSd多服務模型的共存和共同發展,這個好處已足夠幫助企業應對它們所面臨的挑戰了。 本文出自:億恩科技【www.endtimedelusion.com】 |