APM = Application Performance Management,应用性能管理,对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。
应用性能管理是一个比较新的网络管理方向,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本(TCO)。一个企业的关键业务应用的性能强大,可以提高竞争力,并取得商业成功,因此,加强应用性能管理(APM)可以产生巨大商业利益。
APM的覆盖范围包括五个层次的实现:
1.终端用户体验
2.应用架构映射
3.应用事务的分析
4.深度应用诊断
5.数据分析
最早的APM主要是网络为中心,对基础设备的性能数据进行收集与加工,并提供给企业客户,相当于提供一种事后数据的简单处理与告警监控功能。随着APM市场的发展,目前的APM工具在性能监控的基础上有了进化,更加关注于运维数据分析,比如客户端到端的体验情况怎么样?性能瓶颈在哪里?而且当前的APM工具以数据分析为中间实现了更好的可视化,更快更精准预警,更强的问题关联定位等特性。
APM价值
产品运维中的场景:
-客户投诉系统慢了或无法访问;
-运维人员查看资源、日志、数据库运行情况;
-找开发、找客服、找业务、找客户问情况;
-偶发性?无法定位或定位不准?应急方案?重启试试?
……
上述场景是普遍存在的,一般处理往往想到完善监控提高故障告警及时率,增加日志收集能力,完善手册、培训、应急演练等等方式去提高故障应急处理能力。
而APM的出现可以改善上面提到的繁琐的运维工作,提高应用运行质量:
于IT管理层:用户体验可量化,并与同业的性能体验比较可以发现自身差距并进行优化,提升客户满意度;
于IT运维人员:实现了以应用运行情况分析为核心的运维,提高运维价值,对运维数据可视化,更快发现、更准确定位、更精准的做出应急决策;
于业务:掌握用户体验关键业务的关系,提高业务决策。
APM主要通过从客户端和服务端进行数据采集。其中客户端数据采集方式主要分为主动式探测(俗称“拨测”)和被动式监测。相比主动式的模拟监测,真实用户体验监测可以提供全样本监测数据,避免样本偏差。服务端的数据采集都是被动方式,主要两大技术路径分别是NPM(网络性能管理)和探针部署。NPM属于非侵入式的技术,不会对应用性能造成影响,然而不能提供代码及的问题定位;探针部署则反之。
客户端数据采集技术分类及简析
客户端数据采集技术 | 原理及简介 | 优点 | 缺点 |
主动式探测 | 俗称拨测,利用部署到各地的分布式主动拨测引擎对应用进行主动的拨测访问 | 自由度和可控性比较高,可以提供竞品对比、服务选型以及真实环境下的压力测试等 服务 | 存在样本偏差 |
被动式探测 | 即真实用户体验监测,将探针部署到最终真实用户访问应用的环境中采集数据 | 可以做到全样本的采集,不存在样本偏差,并且能够做到深入到代码的应用性能问题定位 | 部署探针相对复杂,可能会对应用的性能造成影响 |
服务端数据采集技术分类及简析
服务端数据采集技术 | 原理及简介 | 优点 | 缺点 |
NPM(网络性能管理) | 通过旁路监听的方式从应用交换机上抓取应用的访问流量数据来分析应用的性能 | 非侵入式,不会对应用性能造成影响 | 无法提供代码级的问题定位 |
探针部署 | 通过安装在应用服务器上的应用探针来采集应用的性能数据 | 对应用性能做非常完整的、分层次的监控和剖析,提供代码级的问题定位 | 采用的是侵入式的方式,可能对应用性能和稳定性产生影响 |
行业分析
目前APM市场在海外主要有两类的核心企业。一类是四大传统IT巨头(IBM、HP、CATechnologies、BMC),另一类是ITOM市场新创企业,包括Dynatrace、NewRelic、AppDynamics、Splunk等。随着市场成熟度的不断提高,APM市场的市场格局与ITOM整体的市场格局一样,呈现初创企业加速发展,开始占据市场主导的市场趋势。
根据调查数据显示,NewRelic、AppDynamics以及Dynatrace作为新创企业依旧保持在APM市场的领导者象限,这三家公司是当前全球APM市场的标杆企业。
在国内,博睿、听云、OneAPM、云智慧在国内市场的占用额较大