虚拟化背后的“精灵”

时间:2022-03-08 08:35:28

虚拟化已经为大家广为接受,而在虚拟化实施的时候,虚拟化背后的技术支持往往容易被人们忽略。

在组织计划实施虚拟化战略的时候,他们往往会忘记了非常重要的一点:技术支持。技术支持虽然只是技术型解决方案的一部分,但却在技术获取方面确是经常被谈到的话题。

在解决方案中由于所涉及的软件种类不同,技术支持所收取的费用通常会占到所有产品的软件许可费的20%到25%。而且,这笔费用在每年解决方案的使用过程中都是重复发生的。

在实施虚拟化技术时,大部分组织中的IT部门并不清楚供应商的技术支持会发生什么事情。随着配置变得越来越复杂,技术支持相关的问题就越来越多。

虚拟化过程中的问题

今天,许多应用程序都基于分布式、多层级架构,这样的系统是强大的、低成本的行业标准系统。

应用程序通常是一个技术层次的总括,它能够协同工作以帮助组织达成单一目标。以前,所有这些层次都属于一个独立的大型系统,而今天,应用程序更有可能基于分布的,多层架构的,这样的系统是强大的、低成本的行业标准系统。

这里面的每一层通常都由好几个系统组成,以确保该组成部分应用有良好的表现,并且具有高度的可靠性。分布式多层应用很复杂,即使这些层里面的软件都是直接在物理系统中运行,其技术支持也有足够的挑战性。

当组织在虚拟系统中运作―个复杂应用程序系统的时候,他们经常惊奇的发现他们的技术支持面临的挑战突然变得很大。当企业面对运行中断时,他们最后不想听见是“我们不支持那个环境。请在我们支持的配置环境下重现你所遇到的问题,那样我们将提供我们最好的帮助”。

在大多数情况下,供应商没有在与任何特定组织环境类似的环境里测试他们的软件。这些供应商是不太可能如此训练他们的技术支持工程师,使他们能够处理任何共同结构的物理和虚拟环境的问题。因此,多数供应商可能不能在这些特定环境里对他们的程序提供支持。

如果环境混合了来自不同的供应商的应用程序、开发工具、操作系统以及虚拟技术,几乎可以肯定该组织要取得的技术支持将受到挑战。

举一个例子可以帮助读者形象的理解这些内容。假设一个企业部署了基于Web的应用程序来显示一个在线目录,允许访客选择产品和运输方法,允许那些访客使用信用卡来进行支付。它由下面的服务组成。

第一,订单服务。

用Linux系统支持JBoss(或者其他的您所喜爱的Web服务工具)应用程序(自定义组件产品购物车软件),使用了MySQL数据库。这个组合可以显示目录信息,以及收集产品订单信息、折扣信息、运输信息;它确认这些信息后,便将这些信息同时发送到客服和仓储系统。

第二,客户服务。

用Windows系统支持自定义的JBoss(或者其他的您所喜爱的Web服务工具)应用程序,使用了SQL Server数据库。这个组件可以获得客户信息并验证它,然后执行后面的订单流程。

第三,仓储服务。

用Solaris系统支持库存控制系统和发货系统。这个系统是使用Oracle数据库,通过Oracle运行套装应用,在该解决方案被使用了几年后,我们越来越清晰的看到,系统充分利用的只有一部分时间。在其余的时间里,这些昂贵的IT资源更多的闲置在那里。

该企业决定采取几个步骤,把上述几个单独分离的功能整合到一个更强大的新系统中去。第一步是功能封装,对其中每一项独立的系统使用虚拟机软件。比如,用VMware作为虚拟机。

当这些功能在自己的主机系统里可以正常运行的时候,整合活动就可以开始了。首先,客户服务的虚拟机被转移到新的服务器。一旦正常运行一段时间后,订单服务的虚拟机也转移到新的服务器。在这个组合可以正常运行后,将仓储服务移植进去。

可惜,这个最后的架构并没有能够正常工作,其表现也参差不齐,关键应用场合下某些应用似乎挂起了,即便在平时,应用程序的表现也不如预期。

由于原来的数据仓储服务的机器仍然可用,工作又被移回这些旧系统,并且IT将从所有的参与了这一实验的供应商处寻求帮助,包括系统供应商,操作系统、数据库管理系统、应用软件供应商,甚至Web服务工具供应商。

工作人员发现,所有软件供应商只有在物理系统中重现这些问题的时候,才能提供相关的帮助,可是这些问题只出现在虚拟环境,而它们也只是在这样复杂的配置下才会出现,我们不可能将这些故障进行重现。

一个谨慎的人可能会指出一个更加可能的情况――各独立软件开发商的参与,只是简单指出可能的问题,以避免过分的介入。技术人员则可能在卷入这场事件之前,指出迁移过程中做了什么不当操作,或者需要什么工具来实现物理向虚拟的过渡。

来自数据中心的挑战

让我们从这令人沮丧的处境中脱离出来,回头想想,分析一下这种情况是如何发生的。

在大多数情况下,技术供应商们在他们常见的配置环境下,对他们的产品提供了最优质的服务,此处,他们也按照我们所熟知的“80/20”法则,选择最常见的配置环境进行测试(有些地方接近于20%的所有可能的配置环境),这样他们可以为80%的目标客户提供相关的服务。

考虑到在大多数数据中心中发生的状况,这意味着,相应的供应商必须为他们的产品在复杂的软硬件环境下的运行提供支持,这通常包括几种不同的硬件配置和操作系统:Windows,UNIX和Linux的几种版本。

在大多数情况下,供应商被迫建立一个复杂的实验室,在实验室中拥有他们所能支持的每一种环境。然后在所有的配置下进行回归测试,这意味着在运行期间会多次改变I/O设备、图形适配器,存储适配器以及网络适配器,以保持与客户的运行环境一样,然后进行各种软件模块的加载和卸载操作。

只有这些不同配置环境下进行的测试都成功了,该产品才可面向公众。所有观测到的异常现象或者问题,要么必须立刻解决,要么围绕它展开工作。

很显然,如果某个配置没有经过测试,那么服务供应商就不会为其提供技术支持。

很显然,如果某个配置没有经过测试,服务供应商则不大可能也不会为其提供技术支持,没有一个供应商能够有能力对每个可以想象得到的会在市场上存在的配置来进行测试,不管其存在的可能性多大。

虚拟环境使得这原本已经够复杂的环境更进了一层。如果我们看到这样一个事实,在今天的行业标准数据中有6层虚拟技术,并且在每一层都有好几种选择,那么我们更加容易明白,为什么厂家无法在 虚拟环境下提供服务了。

虚拟化技术在一个已经在极为密集的过程中付出了大量的时间和开支。因此,许多供应商可能不会在他们的测试方面花费过多的技术力量。即使没有这附加的虚拟化技术,几乎所有的企业软件厂家在相当―段时间内也都一直面临着技术支持方面的挑战。

他们的技术支持政策正遭受着来自行业标准的数据中心的虚拟软件的冲击,每天都有新的技术出现在虚拟技术中的某一层,Kusnetzky小组对将近100家提供各种形式的虚拟化技术的公司的调查,则更加清晰的指出了这一点。

供营商怎么可能对这些公司提供的每一个的产品都进行测试?对他们自己的产品提供技术支持的历史已经过去了。

技术供应商们指出,在他们对自己的技术提供支持的同时,根本没有能力对操作系统,数据库管理,应用框架和其他厂商的应用提供技术支持。这迅速崛起的新技术在几个区域对软件产业的响应能力形成冲击,包括软件许可和技术支持。

供应商们知道,他们的客户需要一个支持范围广的产品,因此,他们必须在他们的实验室里面有真实的成功的试验品以满足客户的当前需求。

为了知道几个主要的服务商在面对客户挑战的时候能提供什么样的支持策略,我按照下面的步骤进行操作,这也是很通用的步骤。

第一,访问了供应商的网站并寻找他们的支持策略。

第二,访问主要的行业门户网站,并搜索几个主要供应商的支持公告。

第三,打电话给当地的办事处,以便知道我能从他们的当地商那了解到哪些信息。

我惊奇地发现,我们很难知道一个供应商面临困难挑战的时候,会提供什么样的支持,比如上面我们提到的那个例子。

我随后做了很多IT机构可能做的事,我给这些公司的联系人打电话,告诉他们我这边是一片空白,并请求他们的帮助。

各供应商技术支持对比

始终记住这一点,让一个供应商为另外一个供应商提供支持是基本不可能的。他们无法获得足够的信息或者访问原代码一除非他们有以下的几点情况。

第一,相互支持协议,与所有合适的供应高一起解决客户的问题。

第二,他们的工作人员将获得所有必须的培训,以理解自己公司和其他供应商的技术。

第三,必须建立一个灵活广泛的服务流程,这样问题可以随时提交给合适的支持团队。

要解决在例子中遇到的问题,操作系统供应商,数据库供应商,Web应用框架供应商,以及应用程序代码供应商必须一同工作,解决客户的问题,但这几乎是不可能的。

我们的供应商能够为我们做些什么呢?下面是我的研究成果。

惠普

尽管我把HP的网站上上下下搜索了个遍,但是我依旧没有发现一个明确的答复来回笞我假定的例子:HP在面对客户挑战的时候将采取什么措施。

尽管HP的本地商是非常的殷勤,但他们确不知道在我假定的情况下该有哪些策略。很明显,他们知道如何应付他们所支持配置下出现的问题,但是没有所有足够的信息来解决这种复杂情况下的问题,看来HP只在一个有效的环境里对他们的产品提供最佳的服务。

IBM

IBM提供范围非常广泛的硬件和软件产品。所选择的支持自然也是跨越多种不同的产品的。与惠普相比,我们清楚的看到,IBM公司为他们的产品在虚拟环境中的运行提供了最好的支持服务。但他们还是没有真的清楚在我们提到的例子里那种复杂的环境下会发生什么事。另外一方面,他们相当愿意派出顾问花时间和资源来帮助我们。

微软

微软提供了广泛的软件产品。与HP和IBM相比,他们所选择的支持也是从一个产品到另外一个产品。不过针对企业级别产品的支持较为全面,能够提供更多有用的选择。微软所提供的服务支持所有的微软环境下运行的产品。

使用微软的服务器虚拟化的验证程序(sVVP),结合微软的软件可以对第三方的产品提供某种程度的支持。

微软已提交了一份“微软软件在非微软硬件虚拟化软件下运行的微软支持政策”的文件,文件编号:KB 89761。另外,像那些我提到的其它供应商一样,对企业来说,重现他们在物理系统中看到的问题,是非常必要的。

Novell和微软有一个全面支持协议,允许两家公司的软件可以在对方的硬件上面获得支持。这些配置经过测试以获得彼此间高度支持。其他的厂家则通过微软的SVVP提供支持,毫无疑问这个联合支持将随着时间的推移而不断加强。

NOVELL

Novell对其产品提供虚拟化环境下的支持,并不断改善其已经确认的软件问题。对企业来说,解决方案实施之前,在纯粹的Novell环境中重现那些问题,是非常有必要的。

Novell和微软有一个互相支持的协议,允许两家公司的软件在对方的硬件上面获得支持。如果在我们假设的例子使用Novcll的SuSELinux,那么微软和Novell就会共同努力,帮助我们的组织解决在虚拟环境中遇到的问题。

ORACLE

Oracle能够为自己的产品在物理机器上的运行提供支持。他们甚至可以根据支付情况扩大他们的支持,包括在自己的Linux系统上运行的产品,这些Linux系统也是使用基于他们自己的Xen管理程序。很明显,他们不能在这个范围之外提供更多的帮助。

VMware

VMware像上面的那些公司一样,很乐意对他们的软件提供支持服务。

与所有其他厂家相比,他们愿意帮助组织配置他们的软件,以及与其他应用软件、开发工具、操作系统和存储软件的主要供应商建立关系。这就是说,在所举的例子中,他们似乎没有同我们提及的其他供营商之间存在互相合作的关系。

像其他供应商一样,VMware公司尚未测试每一种组合,以及可能出现在组织数据中心中的硬件和软件。如果在他们测试过的硬件或者软件中出现问题,那么他们知道如何帮助用户解决问题,如果无法解决,那么他们知道如何把问题交给其他供应商处理。

如果一个组织正在使用他们自己开发的软件,或者从未经VMware测试的供应商购买软件,组织会发现他们必须在不“影响”软件或硬件的情况下重现问题。

平衡消费者的需求

在这里我们再次强调,不管其规模有多大,没有一个供应商能够对所有可能会在市场上发生的情况进行测试,新技术的发展速度已经远远超过了软件的响应能力,供应商们知道他们的客户需要―个提供广泛的技术支持的服务,因此,他们必须在他们的实验室里面有真实的成功的试验品以满足客户的当前需求。

供应商正在努力寻找一种方法平衡消费者的需求。他们期望为客户服务得到额外的增值。但他们也尽最大努力避免“大浪淘沙”,因为不可能对世界上或在互联网上所有能够找到的产品组合进行测试。

在虚拟化技术的每―层中所采用的产品都在发展,如访问虚拟化,应用虚拟化,虚拟化处理,存储虚拟化或网络虚拟化技术,让软件和系统供应商越来越难以适应。

在所有情况下,Kusnetzky小组建议IT决策者花费时间去找出在每个地方的主要技术供应商有哪些支持政策和支持服务。这一步确实是非常重要的。更进一步发现,他们的供应商之间有什么相互的协定。

一些供应商正在尝试对每个类别中最常见的三个或四个产品的配置进行测试和支持,而这些产品是他们客户的IT环境中最常见的情况。

其他供应商配置则不会在这方面花费时间,而是等待客户的需求来推动他们的测试和支持过程。使用值得信赖的合作伙伴来建立复杂的虚拟环境,而不是随意拼凑,对企业来说是非常明智的确定。

上一篇:企业集成架构:随需而变 下一篇:流程管理的最后一块拼图