140DAI54000
发布时间:2018-10-31 13:57:16点击率:
140DAI54000
随着虚拟化、云化技术越来越成熟,分布式系统的成本和架构优势日渐凸显,特别是微服务等设计理念在业务系统尤其是大型的互联网公司中越来越流行,业务的调用关系越来越复杂。
而随着业务的膨胀、服务的拆分,系统的模块变得越来越多,不同的模块可能由不同的团队/程序员来维护。一次客户的业务请求,可能会涉及数个乃至数十个服务的协同处理,牵扯到多个团队/程序员的维护模块,不同的缓存、数据库、消息队列等中间件。在这样的云化应用架构下,请求链路的任何一条请求出现故障或性能问题,都将严重影响服务的用户体验。如何能够快速准确的定位到线上故障根因?如何捕捉请求中的性能瓶颈并实施优化?如何将离散的业务请求数据关联在一起进行有效的用户体验分析?对于大型的、访问量大的网站、社交、电商、游戏应用,这类问题尤其突出,直接影响 终用户对系统的感知和留存率。
140DAI54000
传统的应用运维问题定位以日志为主,通过对告警、系统资源、日志的逐一分析,定位故障根因或性能瓶颈。但是由于云化架构的复杂性,业务请求链路的多样性,传统的应用运维模式已经无法继续支撑故障定位与性能分析的诉求。这个时候就需要APM系统来大展身手了。
APM的定义与演进
APM (ApplicaTIon Performance Management) 即应用性能管理,属于IT运维管理(ITOM)范畴。主要是针对企业关键业务的IT应用性能和用户体验的监测、优化,提高企业IT应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本(TCO)。APM随着互联网的发展,经历了以下三个阶段:
140DAI54000
阶段的APM出现在互联网兴起的初期,由于网络基础设施的水平普遍较差,使应用速度对网络速度与基础资源的性能非常敏感。这个阶段的APM以网络为中心,认为网络速度既应用速度,APM主要监控主机的CPU、I/O、内存、网络吞吐等为主。
第二阶段的APM以监控各种基础组件为主,随着互联网的发展,网络应用变得越来越复杂,各种基础组件越来越多,促使APM进入以IT组件的健康状态、可用性、性能监控为中心第二个阶段。
近几年移动互联网、云计算、大数据、物联网等技术的迅猛发展,各种业务应用不断出现,IT应用复杂度呈现爆炸式增长,而互联网产品本身“用户至上”的属性决定用户体验成为各互联网产品生存发展的关键因素。如何提升用户体验,保证服务和产品的可靠性、稳定性、优化服务等问题,对应用性能管理提出了新的需求,应用性能管理进入以用户体验为核心、专注业务交易与应用架构高度复杂性的第三阶段。



