虚拟设备(英語:Virtual Appliance),或译为虚拟电器[1]虚拟器件[2],是一类预先配置好、运行于虚拟化平台(如 VMwareXenVirtualBox)之上的、面向应用的虚拟机映像。虚拟设备是软件设备的子集,与其它软件设备类似,它简化了复杂应用程序栈的安装、配置过程,降低了运营维护成本。

虚拟设备并不是完整的虚拟机平台,而是一个包含一组软件栈的软件映像。这些软件的设计目的是运行在第一类或第二类hypervisor虚拟机平台上。正如物理电脑,hypervisor只是一个运行操作系统环境的平台,本身并不提供应用软件

众多的虚拟设备提供网页用户界面,允许用户进行配置。一台虚拟设备通常用于托管单个应用程序;因此,它也相当于一种在网络中部署应用程序的新方法。

文件格式 编辑

虚拟设备以文件的形式提供给用户或顾客,通过电子下载或物理方式分发。最常用的文件格式是开放虚拟机格式(OVF)。它还可以分发为开放虚拟设备格式(OVA),且.ova格式与.ovf可互通。OVF的技术文档由Distributed Management Task Force(DMTF)出版。[3] 许多虚拟化平台,包括VMware、微软、甲骨文与Citrix的产品在内,能够从OVF文件安装虚拟设备。[4]

网格计算 编辑

虚拟化解决了网格计算领域的一个重要问题——也就是任何足够大的网格会不可避免地包含大量各种各样硬件及操作系统配置的现实。虚拟设备的引入使极为迅速地供给网格节点成为可能,更重要的是,将对应用程序的所有了解封装在虚拟设备中使得网格操作员与网格使用者彻底分离。

基础设施即服务 编辑

基础设施即服务云计算领域,虚拟设备是极为重要的资源。虚拟设备的文件格式是云服务提供者考虑的问题,通常与云用户无关,即使云用户可能是虚拟设备的所有者。然而,当转移虚拟设备所有权或在数据中心间转移虚拟设备时可能会产生问题。在这种情况下,可以借助虚拟设备拷贝或导出/导入解决这个问题。[5]

软件即服务 编辑

随着虚拟化作为托管服务提供平台的兴起,虚拟设备已经为传统的本地应用程序提供了一条直接途径,以便在软件即服务 (SaaS) 模式下快速重新部署——而无需为多租户技术重新构建主要的应用程序架构。通过将硬件和操作系统基础设施提供者与应用栈提供者分离,虚拟设备一方面充分利用规模效应,另一方面也能利用易用性效应。传统的 SaaS 方法(例如 Salesforce.com 吹捧的方法)通过强制进行大规模更改并增加软件堆栈的复杂性来利用共享基础架构。

一个提供 SaaS 虚拟设备方法的具体例子是 Amazon Elastic Compute Cloud (EC2)——一个搭配Amazon Machine Image格式预打包虚拟设备可用性的Xen虚拟机管理程序节点网格。Amazon EC2降低了成本堡垒,让托管服务的每个客户都可以使用他们自己的虚拟设备实例进行配置,而不是强迫他们共享公共实例。 在EC2问世之前,单租户托管模型过于昂贵,许多早期应用服务提供商产品因此失败。

此外,相对于SaaS的多租户技术,虚拟设备还能为需要通向正在运行程序的本地网络连接或有第三方托管模型不能满足的安全性需求的用户进行有前提的部署。底层的虚拟化技术还允许虚拟设备实例在物理执行环境之间迅速转移。而传统的SaaS方案只能将应用程序固定在特定的托管基础架构上。

相关条目 编辑

参考文献 编辑

  1. ^ 徐志伟.为人民计算的三个问题.中国计算机学会通讯,2008(10).
  2. ^ IBM.虚拟化与云计算.电子工业出版社,2009.
  3. ^ OVF 1.1 Specification (PDF). [2021-08-29]. (原始内容 (PDF)存档于2010-04-01). 
  4. ^ VirtualBox changelog. [2009-04-13]. (原始内容存档于2010-11-30). 
  5. ^ Wu C F, Wang Y S, Liu G N, Amies, A, 2012, Create solutions on IBM SmartCloud Enterprise: Transfer image assets between different accounts页面存档备份,存于互联网档案馆IBM developerWorks, June 6.