[关闭]
@Lucien 2016-09-26T11:13:28.000000Z 字数 2213 阅读 776

APM的前世今生,和未来


有研究表明,用户最满意的打开网页时间是在2秒以下;用户能够忍受App的最长等待时间在6~8秒之间。也就是说,超过8秒这个临界值,用户很有可能会离你而去。而要想留住这些人,那就需要在APM上投入更多的技术支持。同时,随着移动化、多元化市场环境的出现,对应用性能优化的需求也在不断的增加,要求更为严苛。

APM是什么,来源何处?

APM全称是Application Performance Management & Monitoring,即应用性能管理和监控,通过监测和分析应用的表现去保证软件应用的良好运行,提升用户体验。

要说起APM的源头,会让人不禁想起上世纪90年代末,第一代互联网兴起的时期,互联网公司如雨后春笋般破土而出。当时互联网还处于起步阶段,应用的响应速度无法满足互联网行业的发展速度。至此,应用响应管理概念被提出,Tivoli与HP公司在1996年从应用程序层面出发开发了应用响应管理开发包。

而到后来很多互联网企业随着一些故障、带宽、数据管理等问题陆续的出现, APM雏形慢慢建立起来。1998年,面向商业化管理的APM产品出现,已经发展到了以组件为中心的基础设施监控,分别从系统,中间件,数据库等方面监控,这也是APM发展的中期。但在国内接触到APM概念的IT企业极少,也没有形成完整的标准和产品流程。

值得慨叹的是,IBM、CA、HP、Oracle这些早期提出APM概念的公司在APM行业里增长非常缓慢,原因在于早期APM重系统,轻交互,跟当下IT环境格格不入,没有面向用户,项目周期过长,运维人员维护成本高,易用性非常低。

APM的发展现状

近几年,移动设备的普及带动了新的移动访问方式,用户对App性能体验更为苛刻,Gartner就提出了5个维度模型标准来解决性能需求:最终用户体验监控、用户自定义事务处理剖析、应用组件发现和建模、应用组件深入监控、应用性能数据库功能。当然这样的标准更适用于国外的厂商,例如New Relic、AppDynamics、Compuware等等。

很遗憾,国外APM提供商在中国的本地化战略一直水土不服,举步维艰。不过值得庆幸的是,国内在APM解决方案方面有很多的进步,不管是APM厂商,还是像BAT、美团、京东这样的大公司,都在应用性能上有自己适用的解决方案。例如在服务端、移动端、前端监控方面很出色的美团CAT监控系统更是广为人知。

为什么APM很重要,备受关注?

不难发现,多数企业在往数字化模式推进,整个过程需要解决很多挑战,在用户环境越来越负责的业务层面上不断的更新需求,提升用户期望值,包括在功能、性能等多个维度方面。而APM可以在这方面给出很适中的解决方案,在一定程度上帮助企业克服这些棘手的问题。

APM的作用不仅仅是在监控、管理上,还会在问题发现,处理速度,提高协作效率等方面发挥巨大的潜力:

除此之外,APM作为一个能够整合企业的业务环境,从开发、测试,再到运维的工具,最重要之处在于将整个开发环境作一个持续的交互,从开发工具开始,串联到测试环境、源码的管理,以及构建的自动化过程变得非常简单,任何代码的改动、测试过程、数据的收集,都可以实现自动化,让整个开发周期的管理过程大幅度缩短。

一级企业如何利用APM技术实现对软件的管理?

对于这一点,阿里巴巴/蚂蚁金服蚂蚁金服JVM Architect李三红老师也根据蚂蚁金服APM在Monitoring方面的实践,做了介绍:

如果我们从软件栈的这个角度来看应用性能“监控”,在不同软件层次上对应有不同的性能监控系统。以阿里技术为例,在Application这个层面,淘宝开发了EagleEye,一个分布式调用追踪系统,通过收集和分析在不同的网络调用中间件上的日志埋点,为系统调用瓶颈分析、链路容量估算,异常快速定位提供帮助。蚂蚁金服也有自己的Application级别的Tracer组件,通过追踪Java分布式环境下的调用链路,帮助从前端到后端的问题快速定位(感兴趣的读者可以参考往届QCon大会分享)。无论是EagleEye还是Tracer,它们的监控级别都是深入应用层面的,“埋点”实现大多和业务逻辑放在一起实现,所以应用本身对这种监控是有感知的。

而在系统这个层面,阿里也在构建基于AliOS(Alibaba OS)以及AJDK(Alibaba JDK)的“系统级”性能监控系统,基于高质量的OS,JVM profiling信息,同时“关联”应用级别性能数据指标比如调用链路,Response Time统计等,我们希望通过大数据分析手段,机器学习技术,对变得日趋复杂的分布式系统软件,面对性能,故障等问题能够做到事先积极预防,事后快速定位。

未来APM是什么样的走向?

正如AppDynamics首席数据科学家赵宇辰所说,目前DevOps在一些企业的用户案例中存在很多痛点,需要通过更合时宜的手段寻求好的解决方案。所以,接下来如何利用数据和机器学习来提供更精准、更有效的下一代APM解决方案是当务之急,也是很多公司正在花大力气研究的方向。另外,从各相关公司当前的发力状况来看,APM正在向集业务可视化、高度自动化、全天候不间断跟踪监控等特征为一体的3.0时代迈进。可见,未来的APM不管是在技术层面,还是在市场方面,都有很多亮点值得我们去期待。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注