IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  WebSphere  >

评论专栏: Ruth Willenborg:虚拟设备是万能灵药还是烫手山药?

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

Ruth Willenborg (rewillen@us.ibm.com), 高级技术人员, IBM 

2008 年 1 月 28 日

Journal icon 虚拟设备是一个有意义的新概念,可将设备的很多好处与虚拟化的优势相结合。本文将讨论使用虚拟设备来进行软件交付的优势,并将讨论这个新范式所面临的挑战。

来自 IBM WebSphere Developer Technical Journal.

没有硬件的硬件

几年前,我在负责安全和性能工作的组织中工作。这是怎样的工作职责组合啊?现在我也在一个同样有意思的组织中工作,要同时涉及设备和虚拟化。我们的设备团队开发高度优化的功能(包括专用硬件),而虚拟化团队则忙于消除所有硬件依赖性。

设备和虚拟化两个行业趋势各自都有自己的优势,而更有意思的是二者结合的情况,即业界所称的虚拟设备





回页首


相关概念

“虚拟设备”这一术语是从设备和虚拟化得出的组合概念。在讨论虚拟设备的细节前,让我们首先了解一下设备和虚拟化二者各自的基础知识,以及如何将二者结合创造出这个新概念。

设备

计算机设备是具有特定功能和有限配置能力的计算装置。(摘自 Wikipedia

设备的使用在 IT 基础设施(包括网络和安全)中非常普遍,同时在其他方面也在持续地发展。与从通用硬件和软件创建类似解决方案相比,设备通常使用起来更方便,因为硬件和所有所需的软件全作为一个专用的解决方案提供。

如图 1 中所示,设备包括硬件、操作系统、中间件和应用程序。通常,操作系统和任何中间件堆栈都经过了自定义,对最终用户隐藏。最终用户仅与设备交互,而设备有准确的定位,针对特定用途进行了优化。生命周期功能(包括维护)通常在设备级别进行,而不是针对单个组件进行。


图 1. 示例设备
图 1. 示例设备

虚拟化

虚拟化是一个广泛的术语,指对计算机资源的抽象。(摘自 Wikipedia

对于本文,我们的重点是服务器虚拟化;在服务器虚拟化中存在一个管理程序层,用于支持在单个物理服务器上运行的多个虚拟机的执行。每个虚拟机都包括应用程序软件和支持中间件及操作系统。

虚拟化用于提供多种功能,包括服务器合并、分离、快速供应和变更管理。通过使用虚拟化技术,可将设备安装到虚拟机中(连同自己的操作系统和软件堆栈一起),可以与其他虚拟机一起在相同的物理服务器上运行。分离功能允许将具有不同的先决操作系统或中间件的应用程序合并到相同的物理服务器上,以节省空间和能量。

除了服务器合并和分离外,虚拟化还用于各种快速供应场景。在此类场景中,会开发黄金虚拟映像模板,用于支持很多应用程序。如图 2 中所示,虚拟化用于提供标准化映像,特别是操作系统和相关管理与审核功能。此标准映像在很多企业内被视为控制点。


图 2. 示例虚拟映像模板
图 2. 示例虚拟映像模板

虚拟设备

虚拟设备是设计用于在虚拟化技术(例如 VMware 或 XEN)下运行的最小虚拟机映像。虚拟设备是完全预安装和预配置的应用程序和操作系统环境,而虚拟机本身是没有应用程序软件的。(摘自 Wikipedia

虚拟设备将设备打包的一体化概念与虚拟机实现了结合,消除了对物理硬件的依赖。这种组合提供了设备的一些好处,同时又具有仅作为软件分发的灵活性,而且还能够将多个设备合并到相同的物理硬件上。对于设备应用程序与专用硬件系统不一起提供的情况,消除专用硬件需求这一好处尤为有意义。





回页首


万能灵药

虚拟设备的概念提供了打包和交付软件的一种新范式。有些公司不采用传统的安装程序方式交付应用程序,而开始选择提供完整的虚拟机。这种新的打包方式对应用程序供应商和客户都有好处。其众多优势中包括了设备的一些最吸引人的特点和虚拟化技术的很多优势。


图 3. 使用虚拟设备的示例
图 3. 使用虚拟设备的示例

图 3 中说明了虚拟设备的一些主要优势:

  1. 与设备类似,应用程序和所有先决中间件和操作系统软件都是预安装和预配置的。这就消除了客户在自己系统上安装应用程序时出现的问题(所报告的大部分问题都属于这种问题)。
  2. 与设备类似,具体的映像堆栈集中控制和测试。这就消除了测试传统软件时涉及的很多不同组合问题,大幅度降低了依赖性问题出现的可能性。
  3. 与设备类似,更新直接从设备供应商获得,而且这些更新已经在设备的特定软件级别进行了测试。这就消除了产品之间的很多不兼容问题。
  4. 通过使用虚拟化,虚拟设备将独立于其他应用程序运行。因此,相同服务器上的所有应用程序都不需要使用相同的先决软件,也不需要同时进行升级。
  5. 通过使用虚拟化技术,可以方便地在不同物理服务器之间移植虚拟设备(假定使用了相同的管理程序)。如果需要关闭硬件进行维护,可以快速地将虚拟机迁移到其他服务器。




回页首


(被遗忘的)问题

既然存在所有这些优势,那您可能会想:为什么不全部都采用虚拟设备的方式呢?虽然可以从虚拟设备获得很多好处,但是这个概念仍然处在早期阶段,需要考虑一些重大的挑战。

  • 操作系统多样性

    一个常见的 IT 控制点就是操作系统。集中 IT 组织控制所使用的操作系统版本以及升级和补丁安装计划。图 2 中所示的采用黄金模板的虚拟化提供了很棒的工具,用于通过模板内的标准化水平层次实现进行此控制。

    相反,在虚拟设备范式中,操作系统是虚拟设备交付的一部分。通过 Vmware 的 Virtual Appliance Marketplace 中与虚拟设备一起使用的操作系统,我们不难发现操作系统的潜在多样性有多明显。这个站点提供基于很多 Linux® 分发版本的设备,如 Ubuntu、Debian、rPath、RedHat 和 SUSE,另外还包括自定义 Linux 派生版本和其他非 Linux 操作系统。虚拟设备带来了不同的操作系统和不同的版本,迫使对每个虚拟设备堆栈采用垂直管理方法,导致 IT 部门失去操作系统控制点。

  • 审核控制跟踪

    操作系统的多样性还可能带来审核控制挑战,使 IT 组织所面临的验证系统是否已安装了最新的安全与病毒补丁的工作雪上加霜。尽管虚拟设备声称具有增强的安全性能,因为“Just Enough Operating System”(JeOS ) 的漏洞更少,所需的补丁也更少,但虚拟设备用户并不知道每个设备中采用的是什么样的操作系统(或操作系统子集)。IT 组织现在依赖于不同的设备供应商提供各种安全修补程序。现有的用于交付安全补丁和审核系统补丁应用程序的 IT 流程将可能需要针对虚拟机进行修改才能工作。

  • 更新控制

    除了修补程序审核外,丢失了对更新分发的控制也可能成为问题。对于更新,虚拟设备经常提供“自动更新”功能。不过,大部分 IT 流程都要求进行测试,并要控制修补程序的时间安排和推出计划。由于没有现有虚拟设备管理标准,各个虚拟设备采用不同的方法检索和应用修补程序,这可能会带来过程性问题。

    此外,这方面控制的丢失还带来了其他一些问题。由于所有的修补程序都必须通过设备开发商,因此这可能会带来更多的延迟。各个公司不能在各个产品的修补程序可用时尽快安装这些修补程序。另外,公司对应用哪些修补程序也没有选择的余地。很多企业在采用不对其造成实际影响的修补程序时都保持着相当的警惕性,因为经验告诉他们,所应用的每个额外的修补程序都意味着出现意外结果的几率又增加了。

  • 可扩展性和管理

    虽然设备通常是“锁定的”,不会在其上安装其他软件,但虚拟设备的锁定程度与预期的相差很大。如果虚拟设备锁定,可能会对要对每个应用程序安装特定软件的 IT 团队带来困难。例如,IT 组织可能无法添加其公司的标准管理代理。不过,如果虚拟设备供应商允许扩展,则必须提供在更新期间维护这些扩展的技术。

  • 环境特定的配置

    为了让虚拟设备在不同的环境中运行,必须将堆栈针对新承载环境进行本地化(IP 地址、主机名等)。由于很少有应用程序实际完全独立执行,虚拟设备配置经常必须与现有数据、目录服务器和其他企业组件进行通信。这个本地化工作可能会非常复杂,事实上可能远远超过设备的预期情况。

  • 管理程序先决条件

    为了让虚拟设备运行,必须在物理平台上安装支持虚拟设备的管理程序,而且必须对其进行管理、应用补丁等等。根据可用的管理程序和 IT 技能,建立用于执行虚拟设备的虚拟化平台可能是一个极大的障碍。此外,需要能够针对不同的管理程序(如 VMware ESX、XEN 等)进行虚拟应用程序的开发、打包和测试,这样会增加虚拟设备供应商的成本。

  • 缺乏标准

    虚拟设备标准目前尚不存在,但有一些标准目前正在讨论之中,如 Open Virtual Machine Format (OVF)。虚拟设备的打包和管理标准将开始处理其中一些问题。随着标准和新管理产品的出现,IT 组织流程也将需要进行调整,以支持虚拟设备的广泛使用。





回页首


入门

尽管存在上面所讨论的问题,但虚拟设备存在的种种好处有望推动其更为广泛地应用,了解可以如何将其用于您的环境正变得越来越重要。开发虚拟设备的起点与在虚拟映像模板中使用应用程序的起点是一样的。第一步要了解安装与应用程序间的分离,特别要注意任意依赖于本地计算机的配置(IP 地址、主机名等等)。

对于 IBM® WebSphere® Application Server,两篇最新的 developerWorks 文章说明了如何在虚拟映像中使用 WebSphere:

这些文章可以作为使用 WebSphere Application Server 创建虚拟设备的基础。





回页首


结束语

虚拟设备是一个非常有意义的新概念,可将设备的很多好处与虚拟化的优势相结合。虚拟设备支持交付预安装/预配置的应用程序,可全部都在虚拟机中准备好。虚拟化所具有的优势允许将虚拟设备合并到相同的物理服务器上,并能方便地在不同的服务器之间进行移动。不过,虚拟设备也会带来一些问题,主要是因为它们消除了操作系统、审核和管理的控制点,而当前很多 IT 组织都依赖于这些控制点有效地进行运作。新兴标准和新虚拟化管理功能的开发方式将对虚拟设备的接受广度产生重大的影响。

共享本文……

digg 请 Digg 这个故事
del.icio.u 发布到 del.icio.u
Slashdot Slashdot 一下!



参考资料



关于作者

Author photo

Ruth Willenborg 是 IBM 的 WebSphere Technology Institute 中虚拟化方面的高级技术人员。在进行这项工作之前,Ruth 曾是 WebSphere Performance 团队的经理,负责 WebSphere Application Server 性能分析、性能基准检验和性能工具开发。Ruth 在 IBM 具有 20 多年的软件开发经验。她是 Performance Analysis for Java Web Sites(Addison-Wesley,2002 年)一书的合著者。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款