用微软应用程序虚拟化(App-V)实现集中管理且可伸缩的基础架构

Microsoft Application Virtualization (App-V) 利用一套创新的系统来进行应用程序的集中部署。当用户第一次运行应用程序的时候,App-V 的客户端将快速响应并将启动应用程序所必需的那部分代码从Virtual Application Server 中“拉”下来,通常只需要应用程序总大小的20-40%即可启动应用程序。而传统做法往往采用“推”的方式并对整个应用程序进行安装。
当会话结束以后,应用程序以及用户的使用偏好将以文件的形式缓存在本地。这样在下次启动应用程序的时候就可以直接从本地缓存中快速启动,从而在不影响网络带宽的前提下对应用程序进行保存,即便计算机意外关机也不会受到影响。
App-V 智能化管理的核心是App-V Management Web Service,它可以为App-V 服务器和应用程序集中提供服务。利用这个管理控制台,用户可以发布或移除应用程序,控制服务器设置,设置软件计数等等。
我们意识到简单且灵活的基础架构可以更好的支持不同的业务需求。通过以多种方式提供虚拟化的应用程序,Microsoft Application Virtualization 可以满足IT 管理员、业务、以及最终用户的需求。提供虚拟化应用程序的方式包括:
采用App-V 完整架构
这种方法中包括了Microsoft System Center Application Virtualization Management Server (MSCAV),它可以完全实现数据流功能、Desktop Configuration Service、Package/Active Upgrade、基本的许可管理以及软件计数。这种基础架构需要活动目录以及SQL Server,是对已有的Softgrid Virtual Application Server 的升级,Microsoft Softgrid 4.2 版本的用户应当很熟悉。
完整的App-V 基础架构可以对应用程序序列化, 并以数据流的形式发布给客户端。
App-V 轻量级架构
轻量级基础架构由Microsoft System Center Application Virtualization Streaming Server 组成。该服务器可以对应用程序进行序列化,另外还可以在没有活动目录或SQL Server 的情况下对应用程序数据包进行联机升级;但这种方式下无法提供Desktop Configuration Service、软件许可管理或软件计数功能。这些服务都要依赖于针对虚拟化应用程序配置的手动或脚本化的清单文件。MSCAV Management Server 中所提供的Desktop Configuration Service 还可以结合MSCAV Streaming Server 来使用,这样Management Server 负责应用程序的配置,而Streaming Server 负责分发。
在轻量级架构中还额外提供了两种选择:
RTSP Streaming Server 通常在分支机构中使用,可以让用户在不同的地理位置中实现开箱即用以及联机升级的功能。如果用户不希望在所有分公司中部署SQL Server 但仍然需要实现数据流功能,那么这种方法非常实用。App-V Management Server 在总部进行部署,而Streaming Servers 则在每一个分支机构中进行部署。如果客户当前没有ESD 解决方案并希望采用App-V 的管理架构,那么微软建议采用这种方法。另外如果服务器位于本地网络并且数据无法穿过互联网,也可以采用上述分支机构场景。
HTTP Streaming Server 可以让用户使用现有的ESD 基础架构,并添加一个新的HTTP 服务器来分发应用程序数据流。HTTP Streaming 针对互联网进行了优化,对于必须要跨越互联网的场景以及需要在大型、分散的网络中实现数据流分发功能的业务来说,我们建议采用这种方式。但采用HTTP Streaming 的方式无法实现应用程序的联机更新。
借助App-V 数据流功能以及客户端功能, App-V 轻量级架构中的组件可以与现有的ESD 解决方案无缝集成。
App-V 独立模式
Sequencer 组件目前支持创建MSI 文件,这种方式可以进一步实现虚拟化应用程序的自动化。MSI 文件中包含了元数据,这样一来分发系统就可以将虚拟化的应用程序识别出来并进行控制。客户端也需要调整为独立模式,这种模式下只允许对虚拟化应用程序进行基于MSI 的更新。这种模式主要针对于那些迫切需要虚拟化应用程序但却又无法保证与服务器连接的用户。
App-V 独立模式可以让用户通过光盘、U 盘、或现有的软件分发系统部署以MSI 格式打包的虚拟化应用程序。