【IT168 专稿】虚拟化技术不仅仅适用于数据中心。这项技术如今广泛应用于客户端计算:从最复杂的工作站应用到最简单的动态链接库(DLL),不一而足。
这方面的一个典例就是应用程序虚拟化,应用程序虚拟化产品可以把运行中的程序与底层桌面隔离开来。其原理是,消除许多消耗支持资源的配置问题,这些问题一直困扰着所部署的传统桌面系统。这类产品可以对特定程序与操作系统的支持性资源(如文件系统)之间的交互进行虚拟化处理。以Windows为例,它的支持性资源是系统注册表数据库。所有这些产品都可以把应用程序与操作系统映像隔离开来,不过采用的方法不大一样。
其中一类产品的代表是Altiris公司的软件虚拟化解决方案(SVS)。SVS等工具采用了所谓的"蛮力"(brute force)方法: 一个简单的过滤器驱动程序(filter driver)安装在Windows文件系统的代码堆栈中,负责截获及重定向来自SVS管理的应用程序的输入/输出调用。SVS管理的应用程序在各自的"层"中运行时,似乎可以与操作系统无缝集成。实际上,从装载DLL到访问注册表键,应用程序与操作系统交互的每个方面都动态重定向至SVS管理的本地缓存文件。
这种方法的优点在于,它完全把操作系统与应用程序隔离开来: 应用程序的任何改动(对注册表、自身文件及Windows所作的改动)实际上完全在SVS管理的缓存文件里面进行。因为没有出现真正的改动,所以底层的操作系统映像保持完好无损;只要点击按钮,或者从得到支持的管理控制台远程禁用,就可以"禁用"应用程序。这种方法的缺点在于,很难管理同一应用程序的多个版本。比方说,微软Office有时会让SVS犯难,因为如果应用程序的多个版本安装在并行层中,它会调用某个组件的错误版本。
另一类产品的代表是Softricity公司的SoftGrid(SoftGrid 在2006年被微软收购,很快会与基础的Windows Server平台集成起来)。SoftGrid提供了完整的虚拟化环境:应用程序从服务器共享区流式传送到客户端,然后在定制的"沙箱"里面执行;"沙箱"的作用是把代码与操作系统完全隔离开来。这种方法的优点在于,它大大避免了困扰SVS的应用程序多版本问题。不过,缺点是部署过程比较复杂,需要管理员创建自定义安装映像,对要流式传送的代码库进行优化。
当然,要是少了搅局者,任何一个细分市场都是不完整的。Thinstall结合了SVS的简洁性与SoftGrid的安全沙箱方法。Thinstall把虚拟化环境和应用程序映像都嵌入到一个可执行文件里面,因而不需要支持性基础架构:只要把文件拷贝或流式传送到客户端、执行即可。也不需要代理;使用几乎任何传统的管理套件,包括活动目录和微软系统管理服务器,就可以部署映像。缺点是,需要使用Thinstall的虚拟化套件(Virtualisation Suite)工具包对应用程序进行定制。
在一些客户端环境下,需要更全面的虚拟化架构,比如把遗留应用程序放到新的操作系统上。这种情况下,最好把应用程序隔离到完整、虚拟化的操作系统环境里面――这就是典型的"虚拟机"方案。这样你既可以在选择的操作系统映像里面运行应用程序,又可以支持迁移到更新或原本不兼容的操作系统平台上,或者与之集成。
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公司的Managed Workspace产品)的出现就可以证明,这一块市场越来越成熟。Kidaro的产品可以为放在虚拟机上的典型应用程序充当与平台无关的封装器(它能够与VMware和微软Virtual PC协同工作),提供了与主机操作系统集成的一个额外层。Kidaro把历史悠久的虚拟机映像模式改造成更容易管理的"工作区"产品,本地应用程序和虚拟化应用程序之间的界限显得更加模糊了。
其他迹象表明桌面和应用程序虚拟化领域在未来充满活力。比方说,SoftGrid已经与微软的活动目录集成起来。只要把SoftGrid客户程序集成到下一个版本的桌面Windows中,或者作为服务包的一部分来发布,这项技术就会成为默认的部署选项。这对使用Windows、寻找一条明确的迁移道路迈向虚拟化世界的公司来说将是激动人心的好消息。