(来源:IT168)
今天,实施虚拟化的服务器数量越来越多,许多公司在寻找最佳方法来确保应用程序符合预期目标。
关注虚拟环境下应用程序性能
就在许多公司竞相采用虚拟化技术的同时,数据中心出现了一个新的问题:如何保障运行中应用程序的性能。随着更多的服务器实现虚拟化,这个问题只会变得更加突出。
过去,应用程序实际上是一个物理实体,运行在拥有大批备用容量的独立专用硬件上。而如今,为了节省能源和整合系统,每个服务器上面都运行着数量众多的虚拟化应用程序。
尽管这种方法可以节省能源、场地、我们希望还能节省员工时间,但每个应用程序都处在变数比较大的操作环境。每个应用程序可能都有易变的工作负荷,而且不知道对方的存在。随着工作负荷不断增加,共同需要CPU及其他资源,该如何保障应用程序的性能呢?
企业管理协会的虚拟化分析师Andi Mann说:"在物理环境一对一关系的情况下,你确切地知道自己有多少备用容量来满足峰值负荷。"而一台服务器上运行多个应用程序加大了确保同样这种性能级别的难度。
对庆祝虚拟化带来节省成本这个优点的那些用户来说,应用程序性能是明天的问题。许多公司通过使用现有的监控工具、结合良好的判断力和丰富经验来设法克服这个问题。
Brian Cox是肯塔基州路易斯维尔规模最大的医疗机构诺顿医疗中心(Norton Healthcare)的IT客户服务主管,他说:"我们没有任何专门用来监控性能的工具,但通常能把应用程序的问题与服务器组件的问题关联起来。"Cox通过1000个虚拟桌面,为这家医院连锁机构提供了病人护理系统;他通过监控CPU利用率或磁盘利用率而不是应用程序本身来跟踪性能。
这种方法在虚拟化的第一个阶段非常有效,但随后会面临比较大的困难。在某些情况下,用户可能会点击某个监控中的应用程序,一眨眼的工夫,VMware的VMotion就把该应用程序从一台物理服务器迁移到了另一台。不但工作负荷量变化了,就连底层的基础架构也发生了变化。应用程序性能监控工具跟得上这个步伐吗?
为了应对这种出现变化的模式,应用程序性能管理工具就必须与基础架构发现和映射工具联系起来,这样才能检测虚拟机从一台服务器转移到另一台的变化,并且让性能管理软件再次锁定需要监控的目标。四大系统管理厂商:冠群(CA)、BMC、惠普和IBM都在通过发现、映射及连接企业软件构架,设法为虚拟应用程序管理赋予传统优势。比方说,冠群就把其Spectrum自动化管理器(Spectrum Automation Manager)与Wily应用程序性能管理器(Wily Application Performance Manager)结合起来。
没有绝对的领导厂商但是这还不够。虚拟化环境带来了新的难题。四大管理厂商已设法迅速为各自的系统添加了可见性,以便了解虚拟机及其使用的资源,但它们根本无法深入了解虚拟软件的内部,因而提供不了足够准确的信息。这会让IT管理人员探究新的方法来管理虚拟环境。
当然,传统的系统管理产品不仅仅能够告诉你虚拟化应用程序是不是在运行中。它们充分利用VMware、思杰及其他厂商提供的应用编程接口(API),深入了解每个品牌的虚拟机管理系统、提取有用的数据。但它们无法独立监控VMware的ESX虚拟机管理程序或其他的虚拟机管理程序。
只要一切都运行良好,无法查看虚拟机管理程序的情况不是什么太大的问题。虚拟机管理程序充当一个透明的层,把指令从每个虚拟机的操作系统传送到CPU,然后把结果传回来。只要密切关注应用程序就够了。
但虚拟化应用程序的一个已知瓶颈是进出存储系统或网络的输入/输出流。如果以太网消息流入到应用程序,VMware的ESX虚拟机管理程序就得依赖其软件交换机vSwitch,检查每个以太网数据包包头,而包头随流量一同进入到相应的虚拟机。
长消息会导致虚拟机管理程序在处理应用程序时受到一连串持续不断的干扰,从而导致意外的延迟。从任何虚拟机传入到网络或存储区域网络的任何出站流量同样会出现这个问题。而出站流量必须通过虚拟机管理程序。软件交换机的速度不如硬件交换机,看不到这些vSwitch的交换延迟对声称可以管理虚拟化应用程序性能的软件来说是个严重障碍。
弗雷斯特研究公司的虚拟化分析师Galen Schreck说:"要是你无法通过虚拟机管理程序收集到信息,那么实际上根本无法知道你在跟踪的性能问题是存在于虚拟机中还是存在于底层基础架构。"
VMware看到了趁机填补这个空缺的大好机会,于是在去年底收购了B-hive Networks公司,这家以色列厂商专门从事应用程序性能管理。VMware会在今年晚些时候把B-hive技术集成到名为AppSpeed的产品中。
虚拟机管理程序方面的机遇VMware将把B-hive应用程序管理专长与自己深入了解vSwitch及其他ESX Server内部的优势结合起来。VMware的高级产品营销经理Gaeton Castelein说:"我们处在有利的独特地位,可以访问所有这些信息。"
不过,单单拥有信息也不够。需要拥有系统管理专长,才能知道该怎么处理相关信息,并能够进行根源分析,准确查明某次应用程序运行缓慢的根源,而不是仅仅报告出现了运行缓慢。然后还需要针对已知问题,触发相应的自动响应机制,以便防止应用程序停止运行,而不是通过人工干预、事后再响应问题。
Castelein也认为,这个市场的每一家厂商还有很多工作要做;现在,系统管理厂商、基础架构公司、虚拟化提供商以及应用程序性能管理专业公司(比如eG、Embotics、Netuitive、Uptime、Veeam、Vizioncore及另外十几家公司)之间出现了一场"军备竞赛"。这种竞争以及为解决该问题而投入的风险资本表明,整合服务器对许多公司来说还不够。通过整合服务器与加强管理虚拟应用程序相结合,才能获得虚拟化的真正优势。
在这个动态环境下,连"应用程序"的定义也在变化。在面向服务的架构和Web服务中,应用程序作为服务加以组织管理。在许多情况下,某一项服务会运用分散在多个地方的不同应用程序或不同服务。应用程序性能管理的主要任务并不是了解虚拟机内部应用程序的每次移动,而是一组服务(被衔接起来形成业务流程)在不同的虚拟机里面运行时,能够密切关注更大的响应。(如果一些虚拟机在内部云中运行,而另一些虚拟机在外部云中运行,会带来另一层复杂性)。
Castelein表示,VMware在AppSpeed方面的目标将是"为基础架构中的不同业务服务绘制一份逻辑图",然后就能获得服务质量的衡量指标。比方说,一家公司可能设定了服务质量标准:登录过程不得超过100毫秒。借助AppSpeed,IT经理就能查明一个虚拟机中用户验证应用程序耗时20毫秒、另一个虚拟机中身份数据库耗时80毫秒对用户登录来说大致是正常的,然后可以查找异常,并准确查明所发生问题的根源。
不过在跟踪诸如此类的业务流程时,传统系统管理厂商的产品可能仍比虚拟化厂商的产品略胜一筹。当思科希望应用程序管理成为其统一计算系统(Unified Computing System)的一部分、旨在结合计算和网络以支持更复杂的虚拟机环境时,它求助于BMC。微软正在设法把虚拟化数据变成一项竞争优势。它已经设法把Hyper-V直接做到Windows Server 2008操作系统中,因而价格方面比VMware更有竞争力。微软通过借助虚拟机管理器(Virtual Machine Manager)来管理Hyper-V虚拟机,继续奉行纵向整合策略。最近发布的Windows Server 2008随带虚拟机管理器,虚拟机管理器进而与Windows环境管理系统:系统中心(Systems Center)产品套件紧密集成。微软的高级技术产品经理Edwin Yuen说:"现在人们过于关注虚拟机备;很少有人讨论应用程序的管理。"
微软还把基于代理的网络传感器和被动网络传感器都做到了Hyper-V和虚拟机管理器中,以便收集送到操作管理器(Operations Manager)的信息,操作管理器负责监控及报告应用程序操作情况。如果虚拟机的磁盘空间只剩下总量的20%,操作管理器就会准备发送警告信息,表明磁盘空间即将不足。
产品营销高级主管Derek Slayton表示,思杰把自我监控代理做到了XenServer和XenDesktop中,它们会报告常见Windows应用程序的性能。但思杰还缺少能做到企业资源规划(ERP)等应用程序中的代理。他表示,为了监控这些虚拟化的应用程序,就得依赖第三方的监控工具。
借助所有这些方法,可以把代理嵌入到应用程序或应用服务器上,监控活动,并向管理控制台报告观察结果。这意味着它们与虚拟机本身一起消耗CPU周期;比方说,冠群表示其Spectrum自动化管理器和Wily应用程序性能管理器代理给应用程序的工作负荷增添了3%的开销。
收集管理信息的另一个途径就是通过网络上的被动嗅探器(passive sniffer),它们可以跟踪流量、监控应用程序调用,并且衡量响应时间。大多数厂商采用了代理与嗅探器相结合的方法。
惠普收购Mercury Interactive公司一方面是冲着其Load Runner产品而去的,该产品可生成合成事务(synthetic transaction),把它们发送到应用程序,并且为惠普性能中心(Performance Center)产品记录响应。虚拟机的这些"无外设"用户提供了响应时间方面的反馈,表明应用程序在提供合理的结果还是只是错误信息。
惠普收购Opsware公司带来了变更及配置产品,该产品可捕获从ESX Server或Hyper-V收集来的信息,并存储在变更管理数据库,然后这些信息可供许多惠普管理工具调用。惠普如今正设法把自己的工具整合起来,以便可以向开发小组通知某个运行中虚拟化应用程序出现的已知问题。
Novell的ZENworks虚拟机管理器是一款与虚拟机管理程序无关的管理工具,用于跟踪及监控虚拟机。今年3月,Novell为ZENworks添加了Application Virtualization 7,以便为最终用户更有效地管理Windows桌面应用程序。2008年初,Novell收购了PlateSpin公司,获得了面向虚拟机的PowerConvert物理机到虚拟机及虚拟机到虚拟机文件转换功能。
Sun公司通过其Solaris 10操作系统、Dynamic Trace(DTrace)或使用发现应用程序各方面的衡量标准,提供了应用程序衡量及监控功能。Dynamic Trace这种方法可以把传感器嵌入到操作系统中,从运行中应用程序收集信息。
Sun提供了基于Xen的开源xVM虚拟机管理程序以创建虚拟机,还提供了这个选项:运行一组应用程序,每个程序都在各自的窗口中运行或使用一组资源,全部运行在基于Solaris 10服务器上的Solaris版本上。但考虑到甲骨文收购Sun的交易,这些产品的未来并不明确。甲骨文也提供了基于Xen的虚拟机管理程序Oracle VM,最近它收购了Virtual Iron公司,这家虚拟化新兴公司拥有自己的虚拟机管理程序产品和管理工具。但它们都没有详细地介绍如何管理虚拟机内部虚拟化应用程序的性能。
如果说虚拟应用程序性能工具市场让人觉得谁都能从中分得一羹,那你就对了。虚拟应用程序性能与企业基础架构的其余部分有关,但我们仍在设法为传统的企业管理战略提供关键的虚拟机管理程序信息、了解这些信息意味着什么。
还有许多工作要做,但有一点很清楚:公司需要了解应用程序性能。虚拟应用程序性能的高效管理取决于更精准的管理信息和更出色的工具。