应用性能管理 (APM) 是一种使用软件工具、数据分析和应用程序管理流程来帮助组织优化业务应用程序的性能、可用性和用户体验的实践。
作为可观测性解决方案的前身,APM 使 IT 团队能够在应用程序性能问题对用户产生负面影响之前,对其进行可视化、预防、预测和解决。
APM 也是应用性能监控的缩写,监控工具可持续收集有关应用程序性能指标的数据,如响应时间、错误率、资源利用率和用户活动。这些术语经常互换使用;然而,性能监控只是整体应用性能管理策略的一个组成部分。
除监控外,APM 还使用数据分析流程(识别趋势、异常和性能瓶颈)、故障排除协议(自动进行根本原因分析和问题解决)和优化工具(主动解决性能下降问题,最大限度地提高用户的应用程序效率)。
APM 解决方案还能帮助 IT 团队分辨哪些应用程序和服务对用户最重要,以及性能问题会如何影响用户的工作效率。
有效的 APM 工具以及先进的可观测性解决方案,对于依赖软件应用程序向最终用户提供服务的组织来说,具有无价之宝的价值。
APM 工具可帮助开发人员维护企业应用程序的健康和性能,尤其是当组织的应用程序组合分布在不同的 IT 环境(如混合云和多云)时。虽然 APM 系统的具体配置因企业(和工具)而异,但大多数领先的 APM 工具都在五个关键维度内运行(最初由 Gartner Research 发布)。
事务剖析也称为业务事务管理,它提供了一种更具体的监控方法。剖析功能可跟踪特定用户事务在应用堆栈中的移动过程,包括从用户设备到事务中涉及的每个应用组件或资源。
这种监控方法可让开发人员深入了解应用程序的关键特性和功能,从而在有问题或性能不佳的组件影响用户体验之前将其解决。
DDCM 专注于单个应用程序组件(如网络和应用程序服务器),监控特定代码段、外部服务调用、数据库查询以及代码级的其他元素。
检查特定应用程序组件可帮助团队快速确定性能问题的根本原因,并在不涉及无关组件的情况下进行有针对性的改进。
APM 软件会收集大量数据,而 APM 工具中的分析和报告功能是将捕获的数据转化为可操作洞察分析的核心。
APM 平台汇总从每个监控接触点收集的数据,创建易于理解的报告、仪表板和可视化内容,使 IT 团队能够识别性能趋势,并就解决方案和优化做出明智决策。
值得注意的是,Gartner Research 后来将其五个维度缩减为三个。最终用户体验监控现在称为数字体验监测 (DEM)。应用程序发现、跟踪和诊断 (ADTD) 包括三个以前独立但相互关联的功能:运行时架构发现、用户定义的事务剖析。报告和分析层面仍然是一个独立的功能。
应用程序性能监控工具只侧重于监控,仅代表 APM 的一个方面。
传统的监控解决方案依赖于被称为"代理"的小型软件组件,这些组件部署在整个应用环境和支持基础设施中,定期(最多每分钟一次)对性能和性能相关指标(或遥测)进行采样。更现代的解决方案使用无代理监控,以非侵入方式收集数据,依靠网络流量分析来收集应用性能数据。
从很多方面来说,应用性能管理是应用程序维护生命周期中的下一个自然步骤(继监测之后)。应用性能管理系统可从应用程序性能数据和监控流程中获取洞察分析,帮助开发人员优化企业应用程序的性能和可用性。
APM 解决方案为从应用程序内的服务获取丰富的数据和分析提供了一刀切的工具。它们使应用架构具有可观察性。虽然 APM 方法曾经足以满足高质量应用管理的需要,但现在却无法胜任管理具有多个运行时和多个层的分布式应用和服务的工作。
当今的应用程序依赖于服务和微服务,通常在容器化的 Kubernetes 集群中运行。这意味着需要多个运行时,每个运行时在架构内的不同位置输出日志。要使用 APM 适应多个运行时,开发人员需要部署多个 APM 工具。他们还需要使用日志流服务或其他聚合工具来整合各个地点的记录数据。
随着企业在架构中添加更多的服务和微服务,它们会带来更多的复杂性,在出现问题时更难跟踪请求。
可观测性解决方案采用整体的云原生方法来记录和监控应用程序,从而超越了 APM 工具。它们提供无缝流程自动化,并与历史上下文数据协同工作,帮助团队更好地优化企业应用程序。
借助可观测性工具,团队可以更好地了解服务如何相互协作(例如使用依赖关系图)以及如何融入整体架构。他们还可以使用可观察性解决方案来汇总和审核应用程序数据,并从这些数据中获得可操作的洞察分析。
如今的 APM 工具用途广泛,具有一系列可定制的功能,可帮助企业实施量身定制的 APM 战略。每项功能都能帮助 IT 团队在其应用程序生态系统中实现全栈可观测性。其中部分示例包括:
与许多其他 IT 运营 (ITOps) 实践和解决方案一样,随着人工智能 (AI) 的普及和云计算的发展,APM 工具也发生了重大变化。
与传统 APM 工具相关的定期采样足以管理单体应用程序和传统的分布式应用程序(在这些应用程序中,新代码定期发布,工作流、依赖关系、服务器和相关资源广为人知或易于追踪)。
但如今,随着企业采用现代应用程序开发实践和云原生技术(如 Agile 和 DevOps 方法、微服务、Docker 容器、Kubernetes 和无服务器功能),他们往往需要频繁部署新的应用程序组件,而且需要跨越多种语言和地点,因此无法依赖传统的监控策略。
此外,传统的 APM 技术通过监控代码执行来诊断问题。但如今基于云的 SaaS 应用程序包含数百万行代码,通常分布在不同的容器中。
因此,领先的 APM 工具部署了可实现全栈可观测性的尖端监控工具,并依靠 AI 和机器学习 (ML) 技术实时关联和分析数据。
AI 驱动的 APM 工具可以在复杂的分布式 IT 环境中工作,部署的 AI 算法可以快速分析大量性能数据,将性能数据与上下文数据关联起来,并找出性能问题的根本原因。
现代 APM 系统还使用 ML 模型生成预测性分析并预测性能趋势。借助自然语言处理 (NLP) 功能,APM 软件可以有条不紊地筛选性能数据,并为团队提供通俗易懂的洞察分析。
AI 技术并非没有挑战;可解释性、隐私和数据安全性是基于 AI 的 IT 工具的常见问题。然而,AI 驱动的 APM 软件可以大大加快监控和故障排除的速度,帮助企业就其应用程序组合做出更明智、更主动的决策。
APM 有助于确保企业软件应用程序保持高效和可靠。它们还有助于:
基于历史性能数据,APM 工具可预测未来的资源需求,从而实现更有效的容量规划,并帮助企业在需求增长时扩展基础设施。
APM 可促进在软件开发生命周期内不断获得反馈。团队可以监控暂存和生产环境中的应用程序,帮助开发人员建立持续反馈的文化。
SLA 规定了大多数业务应用程序的性能标准,而 APM 服务则为维护 SLA 的合规性提供必要的数据。合规性指标还可用于利益相关者报告,以展示对 SLA 的遵守情况。
对于使用外部 API 的应用程序,APM 工具可以跟踪 API 的响应时间和错误率,以便组织识别可能影响其应用程序性能的第三方服务问题。
APM 工具可以帮助:
使用 IBM Instana Observability 自动观察、监控和修复您的整个应用程序堆栈。
在您的定制应用程序组合中实现最佳性能,同时提高用户满意度。
将全栈可观察性与自动化应用资源管理相结合,在性能问题影响客户体验之前将其解决。