拟化还是不虚拟化,这是许多企业的IT经理面临的一个问题。他们深入探讨虚拟化厂商所提供的选项之后,有一点变得非常清楚 - 虚拟化仅仅在它提供可衡量的好处的时候才有真正的价值,值得花时间去做。
更真实更容易证明的是应用虚拟化(application virtualization),这是一种将应用程序从操作系统和硬件层抽象的技术。为了弄清楚在您的环境中某个应用程序是否应该虚拟化,您需要知道应用程序虚拟化的利弊。
应用程序虚拟化的优点
灵活性。它允许应用程序运行在通常不兼容的环境中,如在Linux设备上运行Windows应用程序。应用程序虚拟化还提供了不兼容的应用程序并排运行的能力,彼此互不干扰。
隔离。将应用程序从主机环境隔离,提供更好的安全性,并减少应用程序错误导致整个系统崩溃的机会。
减少对资源的依赖。虚拟化应用程序比一个完整的虚拟机依赖较少的资源,享受虚拟化带来的好处,却不需要引入所有的开销。
更易于部署。虚拟化应用程序可以作为一个完整的实体,有自己的操作系统,同其他的应用程序隔离。部署包括基本运行一个hypervisor来启动虚拟应用程序。
更细粒度的安全。应用程序虚拟化有安全政策直接应用。此外,可以只给用户他们需要启动虚拟应用程序的权限,不给其他的网络资源的权限。
应用程序虚拟化的弊端
应用虚拟化技术的好处听起来像是有史以来最好的东西,但它也有一些显著的缺点。
并不是每一个应用程序可以虚拟化。有些应用程序需要直接调用硬件,必须在共享的内存空间中运行,或者需要一个只与特定的设备兼容的专用的设备驱动程序。例子包括销售点的解决方案,扫描和其他数据采集产品。
本机集成。有些应用程序过于依赖本地集成到一个特定的操作系统,并依靠直接调用该操作系统以正常运行。计算机辅助设计和视频编辑软件是最好的例子。
兼容性。在许多情况下,应用程序虚拟化只解决了关于文件和注册表控制的兼容性问题。直接控制动态内存访问的应用程序,虚拟化不会消除这些调用,可能会导致系统崩溃。
许可。应用程序虚拟化使得我们很可以容易“克隆”和部署应用程序,但是,它也可能很容易地侵犯用户数许可证。
你什么时候需要它?
对于许多组织而言,可能利大于弊,虚拟化应用程序是一个简单的决定。然而,争论的是虚拟化开始失去威力,因为你考虑更多的应用程序。另一个明显的问题是,应用程序是否可以虚拟化。最后,考虑虚拟化提供什么样的好处。
例如,如果你引入虚拟桌面基础架构(VDI),应用虚拟化开始没有多大的意义,因为桌面已经虚拟化。如果你正在考虑托管或基于云的应用程序,可能会更适合用户,并消除许多围绕虚拟化应用程序的基础设施需求。其他可能没有必要虚拟化应用程序的情况,是如果你部署Web应用程序或软件即服务(SaaS)。
不过,也有相当多的情况,应用虚拟化技术有很大的意义。
BYOD。在携带自己的设备(BYOD)计划,应用程序可以无缝地交付到员工的个人设备,省去了手动安装软件的麻烦。此外,企业IT部门对应用程序仍然拥有完全的控制权,给予适当的权限让应用程序可以使用,甚至支持临时工举措。
多操作系统环境。另一个例子是组织在台式机运行多个操作系统和这些操作系统的多个版本。应用程序虚拟化可以成为一个头痛医头脚痛医脚的方法,为IT人员提供时间和灵活性,以在整个企业进行操作系统升级,无需中断业务应用程序用户的生产力。
不断变化的工作负载。经常使用外部承包商,创建临时伙伴关系,以及基于季节性的需求伸缩的企业,也可以从应用虚拟化中受益。该技术允许这些企业应用程序的弹性,以满足用户数临时的增长,或暂时性下跌。
迁移。应用程序虚拟化也可以帮助主要的应用程序迁移,在一个企业需要运行传统的应用程序过渡到一个新的应用程序时。在这里,企业可以把传统的应用程序虚拟化,并让它在新的硬件上(和新的操作系统)与替代应用运行,使得IT和最终用户更容易地过渡。
应用程序虚拟化是非常有用的,但仅限于特定用例。它不应该被认为是放之四海而皆准的措施,而是更多地作为头痛医头脚痛医脚的解决方案,帮助企业面向未来。