技術講堂:客戶端計算如何得益于虛擬化
虛擬化技術不僅僅適用于數據中心。這項技術如今廣泛應用于客戶端計算:從最復雜的工作站應用到最簡單的動態鏈接庫(DLL),不一而足。
這方面的一個典例就是應用程序虛擬化,應用程序虛擬化產品可以把運行中的程序與底層桌面隔離開來。其原理是,消除許多消耗支持資源的配置問題,這些問題一直困擾著所部署的傳統桌面系統。這類產品可以對特定程序與操作系統的支持性資源(如文件系統)之間的交互進行虛擬化處理。以Windows為例,它的支持性資源是系統注冊表數據庫。所有這些產品都可以把應用程序與操作系統映像隔離開來,不過采用的方法不大一樣。
SVS解決方案
其中一類產品的代表是Altiris公司的軟件虛擬化解決方案(SVS)。SVS等工具采用了所謂的"蠻力"(brute force)方法: 一個簡單的過濾器驅動程序(filter driver)安裝在Windows文件系統的代碼堆棧中,負責截獲及重定向來自SVS管理的應用程序的輸入/輸出調用。SVS管理的應用程序在各自的" 層"中運行時,似乎可以與操作系統無縫集成。實際上,從裝載DLL到訪問注冊表鍵,應用程序與操作系統交互的每個方面都動態重定向至SVS管理的本地緩存文件。
這種方法的優點在于,它完全把操作系統與應用程序隔離開來:應用程序的任何改動(對注冊表、自身文件及Windows所作的改動)實際上完全在SVS管理的緩存文件里面進行。因為沒有出現真正的改動,所以底層的操作系統映像保持完好無損;只要點擊按鈕,或者從得到支持的管理控制臺遠程禁用,就可以"禁用"應用程序。這種方法的缺點在于,很難管理同一應用程序的多個版本。比方說,微軟Office有時會讓SVS犯難,因為如果應用程序的多個版本安裝在并行層中,它會調用某個組件的錯誤版本。
SoftGrid解決方案
另一類產品的代表是Softricity公司的SoftGrid(SoftGrid 在2006年被微軟收購,很快會與基礎的Windows Server平臺集成起來)。SoftGrid提供了完整的虛擬化環境:應用程序從服務器共享區流式傳送到客戶端,然后在定制的"沙箱"里面執行;"沙箱"的作用是把代碼與操作系統完全隔離開來。這種方法的優點在于,它大大避免了困擾SVS的應用程序多版本問題。不過,缺點是部署過程比較復雜,需要管理員創建自定義安裝映像,對要流式傳送的代碼庫進行優化。
當然,要是少了攪局者,任何一個細分市場都是不完整的。Thinstall結合了SVS的簡潔性與SoftGrid的安全沙箱方法。 Thinstall把虛擬化環境和應用程序映像都嵌入到一個可執行文件里面,因而不需要支持性基礎架構:只要把文件拷貝或流式傳送到客戶端、執行即可。也不需要代理;使用幾乎任何傳統的管理套件,包括活動目錄和微軟系統管理服務器,就可以部署映像。缺點是,需要使用Thinstall的虛擬化套件 (Virtualisation Suite)工具包對應用程序進行定制。
在一些客戶端環境下,需要更全面的虛擬化架構,比如把遺留應用程序放到新的操作系統上。這種情況下,***把應用程序隔離到完整、虛擬化的操作系統環境里面--這就是典型的"虛擬機"方案。這樣你既可以在選擇的操作系統映像里面運行應用程序,又可以支持遷移到更新或原本不兼容的操作系統平臺上,或者與之集成。
VMware解決方案
VMware和微軟是虛擬機市場的主導者,而VMware具有更高的知名度。像虛擬桌面計劃(VDI)這些項目的推動者主要是VMware,VDI這個聯盟由推廣虛擬化作為桌面和應用程序管理解決方案的多家廠商組成。
VMware還一直在積極采用新的CPU和硬件技術,比如面向下一代應用程序的64位處理器和擴展內存。VMware的專有技術博得了開發社區的青睞,比如能夠對虛擬機的運行狀態拍攝快照、"退回"到之前保存的映像。但說到底,VMware愿意向大眾開放其底層的虛擬化技術也許會帶來***的回報。
VMware Player等項目竭力讓VMware文件映像成為事實上的標準,以便提供類似硬件設備的應用功能。VMware Player是一個獨立式工具,可以把VMware創建的虛擬機放到任何Windows桌面系統上。人們已經可以通過VMware網站,獲得一大批預制的虛擬機映像,它們大多含有可以自由再發布的開源操作系統和應用程序。
相比之下,微軟任由其產品被冷落。Virtual PC還是Connectix公司的產品時,一度是VMware強有力的競爭對手,微軟收購過來后過了好久才對它進行更新。Virtual PC 2007添加了支持Windows Vista作為主機操作系統的功能,但其他方面卻沒有太多變化。它仍不支持64位計算,在USB設備集成等方面繼續落后于VMware工作站。
思杰解決方案
虛擬機市場的一個未知因素是思杰公司。思杰歷來是基于服務器計算市場的主導廠商,現在自稱是應用程序虛擬化的真正開拓者。不過撇掉炒作泡沫,你會發現它其實結合了許多重新定位的產品,添加了類似SoftGrid的應用程序虛擬化和流式傳送解決方案。思杰的策略能不能成功,取決于是否緊密地把這項名為Project Tarpon的功能與組成思杰產品系列的眾多協議和表示層集成起來。Project Tarpon已成為思杰Presentation Server的一部分。
值得關注的是,VMware可能會向思杰學得一招半式。在部署的VDI系統中,阻礙基于服務器計算的許多問題同樣存在,比如本地硬件支持不夠、客戶端移動性有限、對后端硬件要求過高;有些情況下甚至更嚴重。現在,你可以把多個終端服務器(Terminal Server)放在一個終端服務器映像上,每個終端服務器對應于一個用戶--通過遠程桌面協議(RDP)連起來,而不是把多個用戶會話放在一個終端服務器映像上。這種擴展性帶來了顯著的效果: 如果支持同樣大小的基于服務器計算負載,很可能需要10倍的硬件。
就在思杰把自己重新塑造成虛擬化先驅的形象時,Wyse和Neoware等一些VDI廠商以及RDP和獨立計算架構(ICA)等一些協議在尋找第二春。不過它們可能會發現,虛擬化市場的VDI領域并不顯得更春意盎然。
Kidaro解決方案
當某類產品培育出許多配套產品組成的生態系統時,可以說這類產品已趨成熟。以桌面和應用程序虛擬化為例,支持性產品(比如Kidaro公司的 Managed Workspace產品)的出現就可以證明,這一塊市場越來越成熟。Kidaro的產品可以為放在虛擬機上的典型應用程序充當與平臺無關的封裝器(它能夠與VMware和微軟Virtual PC協同工作),提供了與主機操作系統集成的一個額外層。Kidaro把歷史悠久的虛擬機映像模式改造成更容易管理的"工作區"產品,本地應用程序和虛擬化應用程序之間的界限顯得更加模糊了。
其他跡象表明桌面和應用程序虛擬化領域在未來充滿活力。比方說,SoftGrid已經與微軟的活動目錄集成起來。只要把SoftGrid客戶程序集成到下一個版本的桌面Windows中,或者作為服務包的一部分來發布,這項技術就會成為默認的部署選項。這對使用Windows、尋找一條明確的遷移道路邁向虛擬化世界的公司來說將是激動人心的好消息。
【編輯推薦】