一群程序员在电脑前

什么是应用程序虚拟化?

应用程序虚拟化的定义

应用程序虚拟化是一种软件方法,它将应用程序与设备的操作系统 (OS) 分离,允许用户无需在设备上安装任何内容即可运行它们。

应用程序虚拟化每天影响着我们的计算生活。在 Netflix 上流式传输电影、远程访问公司软件或玩基于的游戏,都依赖于虚拟化应用程序。

在传统的软件部署和管理方式下,应用程序直接安装在单个设备上,这种方式无法扩展。应用程序虚拟化通过允许多个用户从任何地方访问安装在中央服务器上的软件来解决此问题,不受位置或设备类型(台式机、笔记本电脑、平板电脑、移动设备)的限制。

在企业环境中,这种应用程序虚拟化技术简化了 IT 管理、提高了安全性并支持远程办公。随着云驱动应用程序成为组织运营的核心,集中式应用程序管理减少了 IT  工作负载,并加速了在分布式员工队伍中的软件部署。

根据 Grand View Research 的数据,2023 年全球应用程序虚拟化市场价值为 34.3 亿美元。预计到 2030 年将达到 84.0 亿美元,复合年增长率 (CAGR) 为 14.3%。¹ 云计算的采用和远程办公的趋势是这一增长的主要驱动力。

应用程序虚拟化如何工作?

要了解应用程序虚拟化的工作原理,首先要理解使其成为可能的虚拟化这一核心技术。

虚拟化使用称为 虚拟机管理程序(例如 Microsoft Hyper-V)的软件在计算机硬件上创建抽象层。这种 方法允许应用程序和工作负载虚拟机(VM,例如 VMware 提供的  VM )上独立运行。

传统上,应用程序直接与计算机硬件上的主机操作系统(通常是 Linux)通信。应用程序虚拟化改变了这种关系。虚拟化层位于应用程序与操作系统之间,拦截请求并提供应用程序所需的运行时环境,而从不直接接触底层系统。

为虚拟交付准备应用程序涉及称为“排序”的过程。IT 团队将应用程序及其文件、设置、依赖项和注册表项打包成单个可移植镜像。然后,这些镜像从中央服务器交付到任何授权的设备。由于每个应用程序都在自己独立的虚拟环境(或沙箱)中运行,它们被隔离,不会干扰其他应用程序或底层操作系统。

虽然应用程序虚拟化听起来 可能类似于容器化,但两者是不同的技术。容器打包整个运行时环境(包括 OS 库),而应用程序虚拟化则将应用程序与 OS 分开。

虚拟化应用程序可以完全在远程服务器上运行,用户仅从其设备访问界面。根据部署方式,它们也可以在客户端设备 上使用本地存储(或缓存)的资源本地运行。

IBM Power

使用 IBM Power 实现现代化和自动化

IBM 发明大师、STSM、IBM Power 混合云平台的 Joe Cropper 通过演示向您介绍 IBM Power 如何帮助您实现应用程序的现代化。

虚拟应用程序交付方法

应用程序虚拟化可以通过以下几种方式交付:

  • 基于服务器的应用程序虚拟化
  • 应用程序流式传输
  • 本地应用程序虚拟化
  • 完全虚拟化与部分虚拟化
  • 图形处理单元 (GPU) 虚拟化

基于服务器的应用程序虚拟化

与在单个物理服务器上创建多个虚拟机的服务器虚拟化不同,这种方法将应用程序完全运行在数据中心的服务器上。然后它只将用户界面发送到客户端设备。 用户与应用程序交互时就像安装在本地一样,而所有处理都在服务器上进行。

这种 方法是最常见的企业方法,使 IT 管理团队对软件部署和更新拥有集中控制权。它还支持瘦客户端和远程用户桌面环境,从而降低了整体硬件成本。例如,在医疗保健领域,临床工作人员可以从网络上的任何设备访问患者记录软件,而无需在本地安装任何内容。

应用程序流式传输

在应用程序流式传输中,应用程序位于服务器上,通过应用程序虚拟化软件按需将小型软件组件发送到最终用户的设备。它仅在需要时获取所需内容。

本地应用程序虚拟化

在这里,整个应用程序在终端设备上运行,但运行在运行时环境中,而不是直接在本地硬件上。

这对于用户需要离线访问或在网络连接不可靠的区域操作的情况非常适用。例如,远程工作者从网络不稳定的位置访问公司应用程序时, 可能会依赖这种方法。

完全虚拟化与部分虚拟化

并非所有应用程序虚拟化都以相同方式工作。完全虚拟化涵盖整个应用程序环境,提供最高程度的隔离和兼容性。金融服务和医疗保健等受到严格监管的行业中的组织通常使用此策略来满足严格的安全和合规要求。

部分虚拟化仅隔离特定组件,与主机系统共享部分资源。这种较轻量的方法在不需要完全隔离且资源效率为优先时效果良好,例如在分布式团队之间管理数百个应用程序的大规模企业环境中。

图形处理单元 (GPU) 虚拟化

人工智能 (AI) 和图形密集型工作负载使 GPU 虚拟化成为应用程序交付和 AI 基础设施的重要方面。

组织无需为每台设备配备专用图形硬件,而是可以通过中央服务器在多个用户和应用程序之间共享虚拟化 GPU 资源。这种方法使得在原本缺乏相应硬件支持的边缘设备上运行计算密集型工作负载(包括 AI 推理数据可视化)成为可能。

对于大规模运行 AI 工作负载的组织来说,保持处理集中化还可以减少跨设备流动的数据量,从而支持 AI 存储

应用程序虚拟化的优势

应用程序虚拟化通过以下优势帮助组织实现业务价值:

  • 集中管理:IT 团队无需在成百上千台设备上分别安装、更新和修补软件,而是从一个集中位置统一管理应用程序一次。这种设置简化了管理,减轻了 IT 人员的负担,同时确保每个用户始终使用最新版本。
  • 降低成本:集中管理优化了成本节约,使组织 能够减少硬件和软件许可方面的投入。瘦客户端、远程桌面服务和其他低成本设备可以替代昂贵的工作站,IT 团队可以用更少的人员完成更多工作。
  • 灵活性与可扩展性:随着组织成长或工作负载需求变化,虚拟化应用程序可以快速配置或取消配置,无需涉及物理基础设施。除了配置外,跨地域扩展或增加远程团队也无需任何额外的硬件或 IT 干预。
  • 增强安全性:应用程序在隔离环境中运行,数据保留在服务器上而非单个设备上,这减少了攻击面。由于每个应用程序在自己的隔离沙箱中运行,恶意软件无法从一个应用程序传播到另一个应用程序,也无法触及底层操作系统。例如,如果设备丢失或被盗,敏感数据不会泄露。IT 团队可以立即收回与远程访问相关的权限,而无需找到物理设备。
  • 主权:应用程序虚拟化通过将应用程序处理集中在定义的地理或监管边界内,支持数据主权主权云计划。对于跨多个地区运营或处于高度监管行业的组织而言,这种方法意味着敏感工作负载在保持可访问性的同时,能够遵守当地数据驻留法律。
  • 可移植性:虚拟化应用程序几乎可以在任何设备和操作系统上运行,使用户能够自由地在任何地方工作。这种方法支持远程办公和混合工作模式。
  • 兼容性:应用程序虚拟化允许组织在不同的操作系统和硬件上运行应用程序,减少了因应用程序之间或与主机操作系统冲突而产生的兼容性问题。此功能包括在不修改每个平台的情况下,将本地旧版软件与现代 IT 基础设施(如边缘环境)一起运行。

应用程序虚拟化与桌面虚拟化

应用程序虚拟化与桌面虚拟化是相关的虚拟化类型,但工作方式不同。

  • 桌面虚拟化将整个桌面环境(包括操作系统、应用程序和数据)托管在中央服务器上,无论用户使用什么设备,都向其计算机交付完整的虚拟桌面
  • 应用程序虚拟化是一种更具体的方法。在这种情况下,只有应用程序被虚拟化,操作系统保留在用户的桌面或其他设备上不变,这使得它更轻量、部署更快。

虚拟桌面基础设施 (VDI) 是最常见的桌面虚拟化类型,为每个用户提供带有自己操作系统的专用虚拟机。应用程序虚拟化则完全绕过这一层,减少了基础设施资源需求。

值得注意的是,这两种技术并非互斥。许多组织将应用程序虚拟化作为更大桌面虚拟化策略的一部分。 例如,一家零售公司可能使用桌面虚拟化为呼叫中心客服人员提供完整的虚拟桌面。然后使用应用程序虚拟化将单一的计费应用程序交付给现场员工自己的设备上。

应用程序虚拟化用例

应用程序虚拟化支持一系列特定于业务和技术的用例,包括以下示例:

  • 远程办公与自带设备 (BYOD)
  • 应用程序现代化
  • DevOps 与测试
  • 软件即服务 (SaaS) 交付
远程办公与 BYOD

混合办公和远程办公改变了员工与业务应用程序交互的方式。 应用程序虚拟化使用户能够通过 自带设备 (BYOD) 计划,从任何地点使用个人笔记本电脑、平板电脑或移动设备访问应用程序。 不需要 IT 管理每个设备。

应用程序虚拟化使用户能够通过 自带设备 (BYOD) 计划,从任何地点使用个人笔记本电脑、平板电脑或移动设备访问应用程序。它通过这种方法无需 IT 管理每个设备。

应用程序现代化

许多组织除了云原生应用程序外,还依赖现有的旧版应用程序。应用程序虚拟化无需代价高昂的重写,通过将旧软件与新应用程序一起在隔离环境中运行来保留它们。这种方法支持 应用程序现代化计划。

DevOps 与测试

DevOps 及其他团队可以启动跨越不同操作系统和配置的虚拟化应用程序环境,而无需底层硬件。这种方法加快了测试周期,减少了整个开发生命周期中与环境相关的问题,并帮助团队更快地交付应用程序以获得更好的用户体验

软件即服务 (SaaS) 交付

大多数 SaaS 应用程序依赖虚拟化来托管软件并通过互联网交付到任何设备。 当今的组织将应用程序虚拟化与 SaaS 工具一起使用,以扩展对尚未云原生的应用程序的访问。这种方法使得向 Amazon Web Services (AWS)、IBM Cloud、Microsoft Azure 和 Google Cloud 等提供商支持的云交付模式迁移更加容易。

应用程序虚拟化解决方案

组织 通过一系列软件平台和工具采用应用程序虚拟化。他们通常根据现有基础设施、安全要求和部署的可扩展性需求来选择解决方案。

常见解决方案包括 Citrix Virtual Apps and Desktops(提供跨设备的集中应用程序交付)和 Microsoft App-V(一种基于 Windows 的打包和交付工具)。更广泛的平台(如 IBM Fusion 和 VMware)将应用程序虚拟化作为更广泛的混合云应用程序现代化策略的一部分来支持。

作者

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

相关解决方案
IBM Storage Fusion

通过统一存储、保护和编排 AI 、VM 和容器工作量,实现更快、更具弹性的运营。

深入了解 IBM Storage Fusion
IBM 虚拟化解决方案

通过高效、灵活的虚拟化方案,跨虚拟和物理环境优化并扩展工作量。

深入了解 IBM 虚拟化解决方案
IBM 基础架构服务

面向 IBM® Systems 服务器和存储空间的全面技术专业知识。

深入了解 IBM 基础设施服务
采取后续步骤

通过统一的数据服务和虚拟化,强化您的基础设施,在混合环境中支撑弹性、高性能的工作量。

  1. 了解 IBM Storage Fusion
  2. 深入了解 IBM 虚拟化解决方案
脚注

1 应用程序虚拟化市场(2024‑2030 年),Grand View Research,2024 年