当前位置: 首页 > 科技观察

APM应用性能管理的二十年

时间:2023-03-15 19:39:04 科技观察

【博文精选】这篇文章最初是在去年的一次演讲中形成的。后来,应程开元弟兄的邀请,他还在OpenSourcePower开设了公开课。考虑到传播的角度,文字还是比较给力的,所以对之前演讲的PPT稍作演变,形成了这个系列。这是该系列的第一篇文章。它侧重于APM的历史,然后是应用程序性能管理。主要目的是普及概念。2012年在百度上搜索APM这个词,出来的弹屏都不是应用性能管理相关的。现在我再次搜索,得到的结果与我用谷歌搜索的结果没有太大区别。作用只是一点点,毕竟聊胜于无。一、应用性能管理的历史应用性能管理(APM)这个方向其实并不是一个很新鲜的东西。早在1995年就有四家厂商开始这样做;从1995年到现在,已经20年了,这个领域在不断地发展和变化。不断的进化和变化是APM与其他企业级软件和服务的最大区别。按照时间顺序,APM领域一般分为三个时代,分别是1995年到2000年的APM1.0时代,2000年到2005年的APM2.0时代,以及2005年后的NextGeneration时代。第一代APM回忆一下1995年到2000年,是第一代互联网浪潮兴起的时代。当时以雅虎为代表的互联网公司是第一代潮流,美国人忙着铺设光纤网线,一个个站点建立起来。如果说网站的响应速度决定了用户体验,那么当时的网速就决定了网站的响应速度。因此,APM1.0时代的软件功能就这么简单:管理网络系统的性能。网管系统,英文名称为NMS,简称网管系统。这本来是一个小概念。在中国,它逐渐成为一个大概念。在企业领域,很多人把APM系统看成是网管系统的一部分。国内大大小小的网管厂商有数百家,都提供类似的功能,主要是网管功能。中国网管系统的概念与美国目前所说的NPMD系统和AANPM系统没有任何关系。它们是两个概念。国外最受欢迎的产品是Solarwind。第二代APM发展到2000年,看过《浪潮之巅》这本书的读者都会对那个时代有印象。当时市值最大的公司是微软。当时SUN正值鼎盛时期,市值近2000亿美元,美国人疯狂建设数据中心,购买各种软硬件。在这里,我们用一个专业的术语来称呼它们,叫做基础组件(Infrastructure)。那么,当时的APM系统已经到了第二代,其功能就是监控和管理各个基础部件的性能。目前在国内,少数接触到APM概念的网管厂商也可以根据标准或用户需求对一些基础组件进行管理。比较常见的有监控oracle数据库、weblogic中间件等,但很少能形成完整的标准化产品。国内比较常见的摩卡和贝塔都是APM2.0的产品。这个领域最好的产品是BMC的Partol,但是Partol的界面不能满足中国客户的需求。所以,像泰越、亿阳这样的厂商使用BMC的Agent重新定制接口的情况比较常见。.国内的监控宝和深信服也属于这个领域,不同的是监控宝是Saas,而深信服是软件。2005年第三代APM之后,随着facebook、twitter等应用提供商的崛起,越来越多的APP被用来服务全球客户;对于用户来说,他们访问的应用服务可能会分布部署在全球多个数据中心上,尤其是10年后,新的移动访问方式的兴起,让每个人的生活方式更加依赖于各种应用。此时,应用本身的性能越来越成为制约用户体验提升的瓶颈。这就是第三代APM软件的用武之地:第一是管理真实用户的体验,第二是进行端到端的业务交易性能分析。在国外,这个领域正处于百花齐放的阶段。NewRelic和Appdynamics双市场增长非常快。APM领域之外的厂商,如Splunk和RiverBed,也想进一缸。四大厂商都在发力(四家是IBMHPCABMC),很多初创公司也在进入这个领域。从以上三代APM软件中,我们可以回顾一下我们的结论。APM是一个不断发展和变化的市场。不同代的APM软件之间其实并没有什么联系或者竞争。但总的来说,在硅谷还是很火的。APM特指第三代APM,是对应用本身进行监控的APM软件。2013年APM有两个延伸方向,分别是Mobile和Saas。在手机领域,最早的厂商是crittercism。目前看来,领先的厂商是NewRelic。边缘APM市场还有一家叫Keynote的厂商。成立近20年,却一直没有进入主流APM市场。主要是模拟网站的速度测试。该模式的国内玩家包括基调网络和博锐。2.他们去哪儿了?APM领域的每个制造商都有背景,几乎每个在该领域开展业务的公司都以某种方式生存下来。这也是APM领域比较奇怪的地方。Patrol、EcoSystemsSoftware、MercuryInteractive和Candle这四家公司是APM领域最早的公司,它们都是以收购的形式活跃起来的。其中,Patrol被BMC收购,Ecosystems被Compuware收购,Mercury以45亿美元卖给HP,Candle卖给IBM。Keynote,一个悲剧的公司,2013年底被卖给了一家叫ThomaBravo的公司,Wily是APM3.0的创始人,后来卖给了CA。Wily的创始人后来又成立了另一家公司,也就是目前最好的NewRelic。下面是一些其他的并购:之前在APM3.0领域技术最好的公司是Precise(10年前),但是这家公司把自己玩死了。Veritas,后来viritas卖给了symantec,后来symantec又把precis卖给了一家私募股权基金。***听说precise去年卖给了Idera,一家做SQLServer监控的公司。2.将你的核心技术卖给竞争对手或原始设备制造商。现在Precise已经过时了。3、新的竞争格局目前在北美市场,BIG4的市场份额持续下滑。NewRelic和Appdynamics以每年超过150%的收入增长率收割了这个市场。2012年至今,市场竞争进入白热化阶段。阶段。这里有一个有趣的插曲,VMWare,在12年底的时候宣布退出APM这个市场,这个宣布是这么说的:VMware在2008年通过收购总部位于以色列的APM公司B-hive进入了APM业务。这导致了VMware的第一代APM产品AppSpeed。AppSpeed是一个虚拟设备,它通过主机中VMware虚拟交换机上的虚拟镜像端口访问主机上的所有网络流量。它包括解码HTTP和流行的数据库协议的能力,因此能够很好地洞察这些类型的应用程序的应用程序性能。但VMware遇到的大多数应用程序实际上都是定制开发的,支持这些应用程序的开发人员希望深入了解他们的代码在生产中的运行方式——由NewRelic和AppDynamics等新兴APM供应商提供的功能。需要解决生产中自定义代码的操作导致了2012年Java代理的开发,以及AppSpeed于2012年以vFabricAPM这个新代理重新启动。然而,应用程序开发的世界当时正在经历快速变化,新语言以惊人的速度添加。当VMware交付其Java代理时,NewRelic已经支持Java、.NET、Ruby、Python和PHP。AppDynamics目前支持Java、.NET和PHP。今年早些时候,VMware将其应用程序平台资产剥离给了Pivotal。美国市场有Code-LevelInsight技术,还有Riverbed(通过收购OPNET),Dell和Compuware也通过收购进入了这个领域。原文地址:http://hexiaoyang.blog.51cto.com/8769033/1392258