应用性能管理 (APM) 软件可帮助组织确保其关键应用满足性能、可用性和客户或最终用户体验方面的既定预期。 为此,APM 软件会衡量应用性能,在未达到性能基线时提醒管理员,深入揭示性能问题的根本原因,并自动解决许多性能问题,以免影响用户或业务。
APM 也是应用性能监控的缩写。 这两个术语经常交替使用,但应用性能监控实际上是许多应用性能管理的一个组成部分 - 因为说到底,必须要监控性能才能管理性能。
然而,应用性能管理解决方案逐渐从依赖于传统的应用性能监控工具,转变为整合可观测性,这是一种性能数据收集和分析技术,更适合应对现代分布式云原生应用的复杂性。
应用性能管理同样是收集软件应用性能数据,进行分析以检测潜在的性能能问题,并提供信息或采取操作来加快解决这些问题。 应用性能监控和可观测性的主要区别在于,它们收集和分析数据的方式不同。
应用性能监控
在应用性能监控中,会在整个应用环境和支持基础架构中部署代理,通常以每分钟为频率对性能和性能相关指标进行采样(有时称为遥测),对性能进行“监控”。 这些代理执行的监控类型包括:
除了收集性能数据,这些代理还执行用户定义的事务概要分析,从最终用户 UI 或设备到事务中涉及的每个应用组件或资源对事务进行全程跟踪。 此信息用于确定应用依赖关系,并创建拓扑图,即应用和基础架构组件之间依赖关系的可视化表示,理想情况下覆盖本地、私有云、公有云(包括任何软件即服务 (SaaS) 解决方案)和/或混合云环境。
APM 解决方案通常提供一个控制器和集中式仪表板,用于汇总、分析收集的性能指标并与确定的基线进行比较。 仪表板会提醒系统管理员注意偏离基线的情况,这表示存在实际或潜在的性能问题;它还会提供背景信息和切实可行的洞察,供管理员用来排除故障和解决问题。
可观测性
定期采样足以监控和排除单体式应用或传统分布式应用中的故障,因为这类应用的新代码是定期发布的,应用组件、服务器和相关资源之间的工作流程和依赖关系十分明确或者很容易跟踪。
但如今,越来越多的组织开始采用现代开发实践和云原生技术,如敏捷和 DevOps 方法、微服务、Docker容器、Kubernetes和无服务器功能,他们在许多位置使用多种语言频繁地部署新的应用组件,而且部署的频率差异巨大,传统监控解决方案一分钟进行一次数据采样的做法已经跟不上形势的发展。
可观测性方法将传统的监控代理换成持续收集性能和背景数据的测量工具,并使用机器学习技术来实时关联和分析数据。 借助可观测性解决方案,开发、IT 运营和站点可靠性工程 (SRE) 团队可以:
可观测性不能取代监控;它能够实现更出色的监控和应用性能管理 (APM)。
如今的应用性能管理工具正在不同程度地利用可观测性和人工智能。 有些将传统应用性能监控与人工智能相结合,自动发现变化的事务路径和应用依赖关系。 有些则将可观测性与人工智能相结合,自动确定性能基线,从 IT 运营管理 (ITOM) 数据“噪音”中筛选出信号或可行洞察。 行业分析机构 Gartner 发现,组织“通过使用人工智能增强工具,可以将 ITOM 中的噪音减少 60%”。
最终的目标以及 APM 和 IT 运营的未来是将可观测性与面向 IT 运营的人工智能 (AIOps) 相结合,创建自我修复、自我优化的基础架构。 通过将稳定的实时可观测性遥测数据流与 AIOps 机器学习和自动化相结合,可以根据系统输出预测应用性能问题,在其影响最终用户体验或运营之前加以解决,甚至还可以采取措施来优化应用性能,这一切都无需管理干预。