【51CTO精选博文】本文最早成形于去年在51CTO的一次演讲,后来应程开源兄邀请,在开源力量也做了一次公开课。考虑到传播的角度,还是文字更加有力,所以将以前演讲的PPT略加演化,遂成此系列。这个是系列的***篇,主讲APM历史
当时去讲应用性能管理,目的主要在于普及概念。12年我在百度搜索APM这个名词,出来的***屏里面没有一个和应用性能管理有关,现在再搜,所出来的结果已经和用Google搜索的区别不大了,虽然这里面我起的作用只有很小一点点,毕竟聊胜于无。
一、应用性能管理的历史
应用性能管理APM这个方向,其实不是一个很新的东西,早在95年,就有四个厂商开始做这方面的事情;从95年到现在,二十年的时间,这个领域一直在进化和变化。不停地进化和变化,是APM和其他企业级软件和服务区别***的一个地方。
按照时间顺序,APM这个领域总的来说分为三个时代,分别是95年到2000年的APM1.0时代,2000年到05年的APM 2.0时代,以及05年以后的Next Generation时代。
***代APM
回想一下,95年到2000年,正是***代互联网浪潮兴起的年代,那个时候,雅虎作为互联网公司的代表,***一代潮流,美国人忙着铺光纤架网线,一个一个的站点被建立了起来。如果说网站的响应速度决定了用户体验的话,那么当时的网速就决定了网站的响应速度,因此,APM 1.0时代的软件功能就是这么简单:管理网络系统的性能。
网络管理系统,英文名字是NMS,简称网管系统,这本来是个小概念,在中国,慢慢的成了一个大概念,在企业级领域,很多人将APM系统都看作是网管系统的一部分。中国大大小小网管厂商不下几百家,提供的功能都大同小异,以网络管理功能为主。中国人的网管系统的概念和美国目前提到的NPMD系统以及AANPM系统无关,是两个概念。
国外目前比较流行的产品是Solarwind。
第二代APM
时间发展到2000年,看过《浪潮之巅》这本书的读者会对那个时代有一个印象,当时市值***的公司里面是微软,当时的SUN正处于***时期,市值接近 2000亿美元,美国人当时正在疯狂的建设数据中心,购买各种各样的硬件和软件。在这里,我们用一个专业名词来称呼他们,叫做基础组件 (Infrastructure)。那么,当时的APM系统已经到了第二代,作用是监控和管理各种基础组件的性能。
目前在国内,少数接触到APM概念的网管厂商或者是根据标准,或者是根据用户需求,也可以对一些基础组件进行管理,比较常见的是监控oracle 数据库,weblogic中间件等,但是很少能够形成完整的标准化产品。国内比较常见的摩卡、北塔都是APM 2.0产品。这个领域***的产品是BMC的Partol,但是Partol这个产品的界面不太符合中国客户的需求,因此以泰岳、亿阳信通这些厂商使用BMC的Agent再定制化界面的情况比较多见。国内的监控宝和深信服也属于这个领域,不同点在于监控宝是Saas,深信服是软件。
第三代APM
05 年以后,随着facebook,twitter这些应用提供商的兴起,越来越多的APP被用来服务全球客户;对于用户来说,他们访问的应用服务可能分布式 的部署在全球的多个数据中心上,尤其是10年以后,新的移动访问方式的兴起,让每一个人的生活方式更加紧密的依赖于各种application。在这个时候,应用本身的性能越来越成为制约用户体验提升的瓶颈。这就是第三代APM软件的用武之地:***是管理真实用户的体验,第二是进行端到端的业务交易性能分析。
国外这个领域正处于百花齐放的阶段,New Relic和Appdynamics双雄市场增长非常迅速,Splunk、RiverBed这些APM领域外的厂商也要横插一缸子。四大厂商正在励精图治 (四大是说IBM HP CA BMC),还有很多创业公司也在进入这个领域。
从上面的三代APM软件可以回顾我们的结论,APM是一个不断进化和变化的市场,不同代的APM软件之间其实没有什么关联,也没有什么竞争,但总的来讲,目前在硅谷非常火热的APM特定指的是第三代APM,也就是监控application本身的APM软件。
APM在13年,又有了两个延伸的方向,分别是Mobile和Saas。
Mobile这个领域,最早的一个厂商是crittercism,目前看来***的厂商是New Relic.
APM边缘市场还有一个叫做Keynote的厂商,成立大概将近20年了,但是一直没有进入APM主流市场,他们主要是对网站进行模拟化测速,国内这个模式的玩家有基调网络和博睿。
二、他们都去哪了
APM这个领域每一家厂商都是有来头的,每一家在这个领域创业的公司几乎都以某种方式活到了现在,这也是APM这个领域比较奇葩的地方。
Patrol,EcoSystems Software, Mercury Interactive和Candle
这四家公司是APM领域最早的公司,目前他们都以被收购的形式活着,其中Patrol被BMC收购,Ecosystems被Compuware收购,Mercury以45亿美元的价格卖给了HP,Candle卖给了IBM。
Keynote这个悲剧公司在13年底卖给了一家叫做Thoma Bravo的公司
Wily是APM3.0的开创者,后来卖给了CA,wily的创始人后来又创立了一家公司,就是目前最牛的New Relic。
下面是其他的一些并购:
APM 3.0领域以前技术最牛的公司是Precise(10年以前),但是这家公司是自己把自己玩死了,主要玩法包括:
1 公司卖来卖去,先卖给veritas,后来viritas卖给了symantec,后来symantec又把precis卖给一个私募基金。***听说的消息是precise去年卖给了Idera,一家做SQL Server监控的公司。
2 把自己的核心技术卖给竞争对手,或者是OEM。
现在Precise已经落伍了。
三、新的竞争格局
目前在北美市场,BIG 4的市场占有率持续下降,New Relic和Appdynamics以每年150%以上的营收增速收割这个市场,从12年到现在,市场竞争已经进入了白热化的阶段。
这里有一个有趣的插曲,VMWare,在12年底的时候宣布退出APM这个市场,这个宣布是这么说的:
VMware got into the APM business by acquiring B-hive an Israeli based APM company back in 2008. This resulted in VMware’s first generation APM product, AppSpeed. AppSpeed was a virtual appliance that accessed all of the network traffic on a host via a virtual mirror port on the VMware Virtual Switch in the host. It included the ability to decode the HTTP and popular database protocols and was therefore able to provide good insight into application performance for these kinds of applications. But most of the applications that VMware ran into were in fact custom developed, and the developers who supported those applications wanted insight into how their code was operating in production – features offered by emerging APM vendors like New Relic and AppDynamics.
The need to address the operation of custom code in production lead to the development of a Java agent in 2012, and AppSpeed was relaunched with this new agent as vFabric APM in 2012. However, the world of application development was undergoing rapid change at the time with new languages being added at an astonishing pace. By the time VMware delivered its Java agent, New Relic already had support for Java, .NET, Ruby, Python, and PHP. AppDynamics currently has support for Java, .NET, and PHP.
Earlier this year, VMware spun its application platform assets our into Pivotal.
美国市场上具备Code-Level Insight技术的厂商还有Riverbed(通过收购OPNET),Dell和Compuware通过收购也进入了这一领域。