近几年,互联网、移动互联网行业飞速发展,人们以App的形式将软件应用在生活的每个方面。应用的使用者遍布全球的各个角落,而且大多数新用户使用移动设备来访问应用程序,各类应用之间也要求相互协作;同时,随着虚拟化和云计算技术的发展,应用的后台可能部署在全球的各个数据中心。以上的一切,都让应用管理的复杂性持续上升,需要出现能对整个应用传输链(其中包括移动应用、第三方应用和云应用)进行统一、实时地深入分析的应用性能管理软件。
APM,即“端到端应用性能管理”(End-to-End Application Performance Management),高德纳咨询对APM及其相邻行业进行了定义,一般来说,APM软件应该具备的功能有以下几点:
在这一行业中,New Relic和AppDynamics无疑成长最为迅速的两家公司。而曾就职于基础软件提供商东方通科技的何晓阳,可以说接触到APM并非偶然。在他的带领下,目前Blueware已完成了三轮融资,并且在技术和愿景上也正在向New Relic靠拢。希望让开发者可以聚焦于应用本身,而无需为技术所困。
CSDN:请简单介绍一下你以往的从业经历。
何晓阳:我大学毕业后去了东方通科技,东方通科技是基础软件做得比较成功的一家公司,也是唯一一家靠基础软件上市的公司。之后我去了BEA Systems,它是美国的一家专门做中间件的公司(后来以73亿美元的价格卖给了Oracle)。那时,我的主要工作是保证Application Server本身的性能。也正是在那个时期,我经常接到用户的电话,说他们的应用运行很慢,或应用服务器性能很慢,经过检查,我们经常发现是用户应用的问题。中国特殊的应用开发方式,通常是临时组建一个开发团队,项目结束后,团队就解散了。因此,如果出现性能问题,后来的人怎么可能从几万行代码中找到影响应能的几行代码?这让我深切体会到应用性能带给开发者的困扰,但同时,这个问题却没有任何好的解决办法。尤其在中国,中国的变化速度全球最快,IT环境的复杂度全球最高,而写的程序却最为脆弱。这个时候,如果开发者自己搞不定,基础软件服务商搞不定,问题就真的无法解决了。
CSDN:这也是你决定做APM服务的初衷对吗?能否向我们介绍一下APM的概念?
何晓阳:是这样。APM的全称是Application Performance Management。关于APM的用途,我们不妨先从App构成的角度来看。一般来说,一款Complex Application由4-5个部分组成,包括客户端(或浏览器)、Web层、App层、持久化层、数据库存储等。当这些层串联执行,整个App便可以实现用户的业务逻辑,也可以说,用户的业务逻辑不是在一个地方执行,而是由每个层分别去执行的(有时一个App还会去调用其他App)。这时应用的调用关系就会变得非常复杂,如果出现Bug很难去定位。所以APM本身是为了解决这一问题而产生的一种软件,主要提供四类功能。一为感知,感知可分为:1. 在用户察觉到问题之前,自己先行预测;2. 对真实用户的使用体验进行感知。二为隔离,对于电商或团购类应用,它的每一层都是一种服务,APM需要先去在这些服务间做实时建模,防止其在相互调用时出现问题。三是检查,相当于对每一行代码做诊断,查出故障的原因。最后是修复,根据以往的性能表现或知识库,去自动修复这类故障。这就是传统APM的概念。
APM的工作流程
而现在随着移动互联网及互联网产品交易化特点的转变(即不仅是卖广告,而是有各种交易跑在上面),传统的APM提供商(如Wily)要提供服务给客户,需要派销售、售后,及安装,周期往往非常长。所以现在的APM都在往SaaS层迁移。
CSDN:这样看来,APM已贯穿应用的整个生命周期?
何晓阳:是的。从你写下第一行代码到整个持续的运维,APM都是不可或缺的工具。在美国,APM至少导致了以下几个明显的变化。首先是APM已成为IT Operation的核心。过去应用都放在IDC下,运维主要是对主机性能、网络性能、数据库性能、缓存性能等进行监测。而现在这些因素都不再是关键,主要原因在于软硬件的高速发展,网络性能越来越可靠,会使你应用本身的脆弱随着功能的复杂度凸现出来。第二,随着Devops的诞生,过去Development和Operation是两个不同的工种,而现在在逐渐融合。第三,运营人员过去是不接触最终用户的,而现在,通过APM提供的用户体验管理工具,他们可以实时监控到最终用户体验,也能掌握业务层面的动态。这将运营的重要性一下子提高到了与生产同等的位置,它可以影响生产的效率、营收以及用户的体验。
CSDN:在如今移动互联网的浪潮下,APM能为移动开发者带来什么?
何晓阳:Mobile APM可用于管理Web应用、移动Web应用和原生移动应用的解决方案。与其他IT 应用类似,通过它,业务的运营者可以进行实时检测和故障排除,这可以帮助IT运维识别系统问题,为应用开发人员提供深度的代码级别的可视化。Mobile APM产品的核心功能包括:
Mobile APM提供的可见性
CSDN:显然,APM在中国的认知度并不高,在公司的实际运作中,你们经历过哪些困难?
何晓阳:困难倒谈不上,其实,从2008年注册,到2011年开始正式研发APM软件,我们已经成为了行业的佼佼者。目前已顺利拿到三轮融资,总金额过亿人民币(由于Blueware的客户包括大型国有企业/单位,因此他们选择以人民币进行融资),今年还打算融第四轮。而且国内目前的竞争压力不太大,我们活得还比较滋润。另外一个我认为是比较好的发展是整个外部环境的变化。新经济带动了旧经济的发展,像移动、联通、电信这样的传统经济体不像原来那么富有,他们也会去降低硬件预算,进行精细化运营,这个时候它们才会去用APM软件。如果非要说困难的话,我们现在比较缺人,欢迎各个语言的专家来Blueware。
Blueware团队
CSDN:Blueware有哪些比较大的产品发展历程?
何晓阳:我们从2011年初开始做APM软件,最开始做的是服务器、数据库、中间件的监控,这个大概做了一年的时间。2012年,我们开始做端到端的业务交易监控。去年才开始做移动端的业务,主要原因是探针非常难做,要分不同语言,比如Java的探针,Ruby的探针,Python的探针等。今年我们则把注意力放在了中小企业市场,也就是近期推出的SaaS版本OneAPM,这有点像New Relic的服务。其实,我们并想通过SaaS去“抢钱”,而是希望让付不起钱的开发者或创业者也能享受到这样一种服务,不要因为性能问题而失去用户。我们的SaaS版本大家都可以免费注册(永久免费),而且我们的功能比New Relic的功能还多。此外,我们的Developer的版本的价格只有New Relic的1/6,而功能却相当于New Relic最高的Pro版本。另外,我们还会开发一个企业版,这个版本针对中国特殊的开发环境做了很多调整。比如说,性能消耗会更低;另外,假如你使用了一个非常新的技术(或非常老的技术),或其他一些非主流的技术,我们也能对这些技术进行支持。比如假如你还在使用EJB2,那么New Relic上是不支持这样一个很老的技术的,但我们会有一个特殊的版本的探针支持这种技术。
Blueware SaaS产品线
CSDN:在今年的互联网报告中,“分析”是一个很热门的词,APM的分析与我们传统所认为的分析是同一回事吗?
何晓阳:传统的分析是基于大数据或公有数据的分析,而互联网趋势报告中说的分析,更多是基于海量的移动终端和传感器产生的数据的分析,APM是其中一种。APM探针从你的应用中直接采集数据,这个数据通常更为真实。这也是我们实现盈利的价值所在,未来我们会做到让你可以直接跟你的应用对话,它会告诉你,你的应用的那个功能是受人喜欢的;那个功能是不受人喜欢的;哪个用户正在远离你,为什么远离你。甚至是,某个用户最近喜欢上了哪个软件。不过这一功能可能会涉及到一些法律问题。尽管如此,我们不难看出,即使是你的App内部产生的数据,也足以让你分析出很多新的价值,未来的商业模式必然是这样。应该说,APM是产生最有价值数据的一个最有效的方式。
CSDN:目前看来,Blueware与New Relic是否存在差距?国内APM行业目前处于一个什么样的现状?
何晓阳:New Relic大概领先我们3-6个月。为什么这么说呢,因为我们一直没有做到Business Performance Moniting(指的是New relic最新推出的Ingight),这主要是国内这方面的人才太稀缺了。至于其他方面,如APM、Browser、Server等服务我们与New Relic是旗鼓相当的。我们目前的技术能与AppDynamics持平,我们的探针甚至比AppDynamics还多那么两三个。至于国内,我们至少领先对手两年以上,国内比较知名的对手,我们的五个产品中它只占一个,就是移动端性能监控。对目前来说,只有移动端性能监控是没有太多价值的,只有同时提供浏览器端、移动端、后台服务端应用的性能管理,以及操作系统和基础组件的性能监控,加在一起才能提供给用户一个完整的应用性能解决方案。
国内目前有两类企业号称在做APM,但实际上做的都不是真正的APM。第一类是NPM,也就是网络性能管理。NPM无法支持SaaS方式部署、做不到最终用户体验管理、进入不了代码级别,无法在云环境下发挥作用。但它可以大概感知到哪里快,哪里慢。第二类是原先做网络管理的,现在逐渐延伸到基础组件性能管理(Infrastructure performance management),它只能对数据和服务器进行监控,对应用没有太大帮助。这两类都没有太大意义,原因在于,首先你无法像SaaS那样很方便、很简洁去满足所有的用户需求。第二,这些东西没有什么技术含量。所以,我认为中国真正在做APM的只有Blueware和基调两家。
CSDN:在你看来,APM会向哪个方向发展?
何晓阳:我认为主要以下5个方面。第一,未来的APM必须是SaaS;第二,在对移动端的支持上,不仅要支持不同平台,同一平台的技术支持要更加细分,尤其是Android;第三,未来的APM应该提供一个Total Solution,在一个软件里要集成原先多个软件的功能,但还不能把它变的复杂化,反而要更加简便、智能;第四,能够直接帮用户分析出异常原因;第五,螺旋式的发展规律,比如数据库深度监控这样一个很老的东西,今年又开始回归到人们的视线,变成了一个很新的东西。
【《近匠》极光推送:聚焦巨头无法快速转身的领域】APP的消息推送有多重要?《近匠》第44期,国内第三方App推送服务工具极光推送成立2年,服务7万多App。本期近匠采访极光推送CEO王小导,听他谈极光推送早期创业与转型的故事,以及对创业领域的理解。
【《近匠》环信:标准化即时通讯与未来社交构想】《近匠》第43期,环信是标准化即时通讯模块SDK,本期近匠采访环信创始人刘俊彦,他认为微信之外还有一个更广阔的生态圈,由千千万万个垂直的App组成,有千千万万垂直的沟通场景。每一个特定的沟通场景都是创业机会。
【《近匠》游道易副总裁孙可:发行商眼中的手游市场】《近匠》第42期,在手游大时代的今天,巨头涌入、全球化竞争、渠道为王、山寨林立等特点使手机游戏这个行业的竞争压力陡然增加。中小型团队的出路在哪里?国外精品如何做好本地化?创业公司如何准确定位,把握时机?
回顾更多内容及线下开发者活动信息,请关注mobilehub公众微信号(ID: mobilehub)
寻求《近匠》免费报道,请私信:@CSDN移动,或发送邮件至mobile#csdn.net。