编者注:企业业务不断发展,对系统要求越来越高,不断增加的硬件成本和维护成本,占用了IT支出的比率越来越高,通过应用性能管理也提高系统的应用性能和管理水平,从而节省开支,进行IT业务创新是当前非常关注的地方,从本期开始,我们将连续推出应用性能管理的系列文章, 本期是第一期,下一期我们将介绍如何将应用性能管理的实施,将方案转变成真实可用的运营。
  端到端应用性能管理(End-to-end Application Performance Management,简称APM)指的是 一种 IT 服务方法,包括识别、区分优先次序以及解决影响业务应用的性能和可用性问题。APM 正在变得越来越重要,因为终端用户依赖日益复杂的应用来实现关键业务交易。应用性能低下将降低生产力,影响客户满意度,并有损 IT 声誉,进而导致成本攀升、收入减少、IT 变得效率低下——这些问题通常比可用性问题更加严重。
  传统的监测解决方案通常无法识别和解决应用性能问题的根源。事实上,最近在终端用户体验监测、依赖性映射和相关性方面的最新进展,已让 IT 运行经理能够更有效地监测和解决不满足服务水平的问题。这些技术帮助提高对整个网络、服务器(分布式和大型主机)和其它应用层的可视性,借助技术分析因果关系,从业务的角度确定哪些响应该优先进行。实际上,即使基础架构测量指标仍然提供主要的故障和容量数据,强调重点也已从基础架构测量指标变成了业务测量指标。
  我们将撰写一系列应用性能管理最佳实施的文章,从问题和事件管理的视角剖析 APM。问题和事件管理是 APM 的两个核心 ITIL(信息技术基础架构库,简称 ITIL)流程。事件管理(Incident Management)是当IT 出现问题的时候解决它们,作为对服务质量降低的一种响应。事件管理的目标是恢复服务,对业务造成尽可能小的影响。问题管理(Problem Management)强调识别和消除问题的根源。它通过改变服务和 APM 解决方案,增加了服务质量改进的概念。
  APM 最佳实施系列文章除了这篇综述文章,还包括其它三篇文章,都专注于影响整体服务交付的关键领域:
  ·数据中心最佳实施:探讨APM 如何为包括分布式和大型主机在内的异构环境交付真正端到端的应用服务。
  ·网络管理最佳实施:探讨一个依赖网络的应用交付模式里的应用性能管理。
  ·Java 和 .NET 最佳实施:探讨 J2EE 和 .NET 环境里的应用性能管理。
  作为后续三篇文章的前奏,我们将首先概括地讲述 APM 设计、实施和运营的基本要素,将端到端 APM作为一个流程来进行探讨。
  APM 设计
  APM 解决方案通常是作为草根、基础架构监测实践开始的,由IT 机构的某个独立业务部门实施,缺乏一致的目标。例如,网络团队可能要部署一个开源网络工具,以获得基础网络的可视性,而web 服务器团队则可能会从一个主流的服务器厂商那里部署一个服务器监测工具。然而,自上而下地设计一个 APM 方案要切合实际得多。使用这种方法,您先设想结果,然后将它应用于您选择的解决方案组件。
  您如何着手开始呢?在 ITIL 的世界里,最终支持服务级别协议(service level agreement,简称 SLA)的运行级别目标(operational level target,简称OLT)是一个好的起点;这些将已经解决了预期的业务产出和成本限制,并且应该实现一个高水平的设计。不与 ITIL 相关?您仍然能够采用适合您需求的部分最佳实施。从与业务部门讨论、理解业务目标开始,确定 APM 预算,使用对应用交付基础架构的理解和它的性能敏感性,并草拟一个方案。您很可能想把这个作为一个练习,测试什么可能会出错,尽可能广泛地扩展范围;成本和其它的实际考虑将很快专注于这一设计。您当然不会是第一个采取这种方法的人,您可充分利用与供应商的关系、用户群和咨询合作伙伴,来理解类似尝试可能会有的成功和失败。
  公司高层提供的资源支持和参与对于任何 APM 项目的成功都是至关重要的,因为这将要求来自多个 IT 部门的积极支持。更重要的是,这些部门对于项目的业务价值要有一致的理解,因为他们每个都可能会面对新的企业可视性(他们在高管仪表板上的测试指标),对某些东西失去控制(应对问题的新流程),或者放弃一个最受欢迎的工具。开始一个小型的 APM 项目,选择一个战略性的应用,为业务所有者和 IT 机构阐明价值,大多数机构将会从中受益。这样一个项目的成功,将能够被一个更全面、收益更明显的解决方案利用。
  然而,我们大多数人并不是从临时拼凑开始设计 APM 解决方案;我们已经拥有许多一直服务于我们的目的的基础架构工具。那么,是什么将一系列“结合平台的”(platform-aligned)工具转变成APM 解决方案的呢?尽管对于这个问题可能会有许多技术回答,但是,这里有两个最重要的主题:
  ·业务一致性(business alignment)。全新的主要设计目标仍然应该从注重业务产出开始。对业务来说,重要的将是终端用户的体验——这个可通过性能和可用性进行测量。
  ·相关性和故障隔离(correlation and fault isolation)。对根源的可视性,是将基础架构提升至 APM、真正理解基础架构测量指标如何影响业务生产力的关键。
  很容易明白诸如终端用户体验(end-user experience,简称 EUE)和基础架构测量指标等业务相关的测量指标的相关性为何如此重要。将终端用户体验到的性能问题与基础架构测量指标结合起来,隔离主要的根源,这能让 IT 小组快速准确地专注于问题的起源,同时避免对不相关的组件采取行动。通过适当的阈值调整,这为持续业务改进奠定了基础。同样地,通过 EUE 的相关性,以及受影响的用户数量和所在位置、每天交易的次数和业务价值,可以找到问题对业务的影响。
  通过一系列基础架构工具构建 APM 解决方案,会带来集成和相关性方面的挑战;您需要对主要的单一供应商(single-vendor)解决方案进行评估权衡,因为供应商和定制化的多供应商(multi-vendor)解决方案构建和交付了集成。对于更小一些的部署,定制化的解决方案可能会更省钱,但是对于较大的实施,可扩展性和维护方面的考虑将会迅速改变价格。
  在设计流程里,保持对终端用户交易响应时间的专注很重要。这有两个原因。第一,性能分析和问题解决是为更好的了解以业务为导向的环境并提出重要意见。尽管在传统上,基础架构测量指标是满足事件和问题管理的数据,但是,这些基础测量指标和它们的阈值驱动警报在没有业务相关性的情况下能够变得几乎毫无意义。例如,对于一个2 M 广域网连接来说,75% 的利用率究竟是好还是坏呢?一个被报告的交易性能问题是由 SAN 里长度为 8 的测量磁盘阵列引起的吗?当应用的性能降级时,这些组件级的测量还将总会被突出?其次,从对业务影响的角度来说,IT 能够优先对事件作出响应是有价值的,它代表了向业务一致性迈出的重要一步。
  同样重要的是,与技术和 IT 资源的成本相关的设计限制。许多 APM 项目不成功,是因为缺少关注和支持,因为无法维持这一解决方案、无法适应基础架构的变化并无法定义基于真实世界反馈的流程。