NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

专访 OneAPM 创始人何晓阳:APM 将是开发者必备服务

  • 2015-04-17
  • 本文字数:2995 字

    阅读完需:约 10 分钟

总编访谈”是InfoQ 推出的一个高端访谈栏目,由总编辑

崔康主持,致力于深入采访国外内顶尖技术力量,报道最前沿、最有深度的内容,分享干货和经验。

本期采访嘉宾是OneAPM 创始人何晓阳,他应邀接受了InfoQ 专访,就APM 的发展历史、现状、技术细节、未来趋势做了深入的分析。

InfoQ:感谢晓阳接受专访,对于国内的开发者来说,APM 是个比较新颖的概念,能给大家介绍一下 APM 吗?是如何发展起来的?

何晓阳:从 IT 的发展史来看,一般来说,关键技术的变化经常会引起某个具体行业领域的变革。APM 市场就是其中很好的例证。APM 是 Applicaiton Performance Management 的缩写,也就是应用性能管理,在国外已经流行多年,这个市场是如何发展起来的呢?其中最关键的是 Application(应用)的变化。如果相比以前,我们可以发觉现在 Application 已经无处不在了,比如看看我们的手机,上面的应用非常多,包括 O2O、电商等。随着应用数量的快速膨胀,APM 也从一个很小的细分市场成长为一个涵盖面很广的领域。这就是技术变化带来的巨大影响。

那么,有些读者可能会有疑问,APM 和传统的代码分析有什么区别呢?这和应用的变化紧密相关。现在随便一个应用的用户数可能就是海量的,像“足记”这样的应用,一夜之间就是上百万用户;第二个特点,云计算已经落地,原来集中式的应用部署方式,现在部署到云平台比如几百台虚机上,导致整个业务逻辑的执行路径变长。而且现在 SOA 很热,一个应用后端被切成几个不同的 service(服务),被应用调用,各种跳转,在这种情况下,IT 企业和工程师很难通过测试或者模拟来发现大部分问题。只能通过生产环境的实时监控做到。以前,我们可以通过一些测试工具跑 500 个或者 1000 个 virtual user 来测试性能,但现在几百万的访问量导致生产环境和测试环境产生了巨大的差异。正是在这种情况下,APM 市场才慢慢壮大起来。

InfoQ:APM 本身可以分好几块,比如监控、分析、优化等,现在 OneAPM 主要关注哪些领域?

何晓阳:APM 行业本身在飞速发展。APM 在上一代,强调的是监控,也就是把所有的生产环境信息收集起来,交给客户,但是并不判断问题存在哪里。而现在新一代的 APM,也就是 OneAPM 所关注的、所强调的是分析,比如性能瓶颈在哪里?异常交易在哪里?现在无论是敏捷还是 Devops,强调的都是快,所以对于开发团队来说,想立刻知道异常问题出现在哪里,这是新一代 APM 正在做的事情。

以 OneAPM Application Insight 为例,它针对应用性能管理领域定义了五个功能维度:真实用户体验管理、应用拓扑的发现和可视化、用户自定义业务分析、应用组件深度监控、IT 运营分析。

InfoQ:有了 APM 厂商和工具,是否意味着软件公司不再需要性能测试工程师了?

何晓阳:按照我的理解,性能测试应该是一个过去的概念,而 APM 是一个与时俱进的概念。现在,大多数公司可能都没有性能测试,而专业的测试工具收费比较贵,可以说,200 人以下的创业公司没有考虑过这个岗位,如果是这种情况,那么创业公司可以直接用 APM 服务来代替性能测试工程师。对于大公司,我认为还是需要性能测试工程师,不过应该把 APM 服务和工具引入到正常的性能测试工作中,成为测试人员的工具箱,APM 可以帮助测试人员监控和发现问题。

InfoQ:OneAPM 代码级的探针所采用了哪些关键技术?

何晓阳:先从我最熟悉的 Java 说起吧。对于单机来说,应用运行在一个 JVM 上,对于开发者来说,基本的性能分析需求包括几点:方法的调用栈、方法的执行时间、线程锁是否异常、消耗 CPU 最多的线程、内存是否泄漏等等。从技术角度讲,JVM 的探针,就是利用了 Java bytecode instrument 机制,指的是在 Java 字节代码生成之后,对其进行修改,增强其功能。这种做法相当于对应用程序的二进制文件进行修改。对于 Java 来说,就是改变 JVM 在加载类文件时候的行为,在客户的代码中注入一些监控的语句,实现数据收集、分析的能力。对于分布式的架构来说,就是在多个 JVM 之间的调用的出入口记录 tag。

像.NET、Ruby、Python 等语言都是类似的机制。

这种探针都是经过精心设计的,非常轻量级,对于应用的性能影响都控制在 1% 以内,与很多应用服务器自带的沉重的 trace 机制完全不一样。另外,我们还使用了采样分析的技术,将性能影响降到最低。

InfoQ: 目前国内对 APM 的使用还处于初级阶段,你认为随着市场不断的成熟,开发者或者厂商是否会对 APM 采取更拥抱的态度?

何晓阳:是的,而且不用等太久。目前创业的趋势发生了变化,在去年以前,大部分数创业者是产品经理,关注的是商业模式的创新,从去年开始,更多的技术人开始创业,关注的也是技术创新,开始精细化运营,用技术的方式来解决问题。

第二个变化是人力成本变高了,也就是程序员越来越贵了。以前美国硅谷一个人的工作在国内可以招 10 个人,大家各负其责,可以承担大部分 APM 要做的事情,但是美国只有一个人,那么他自己搞不定 APM,需要使用第三方的服务。现在中国的 IT 人力成本也提高了,企业发现与其招聘几个人做 APM,不如直接购买线上的 APM 服务,性价比更高。像云计算、CDN 都是这样的例子。

通常只有火了的应用才会出现性能问题,不火的应用也没有那么大用户压力。最近有本书《创业小败局》,里面提到了 21 个创业失败的案例,我之前特意写过一篇文章,其中有 4 个案例是因为性能问题失败的,这是很遗憾的事情。

国外创业是抱着做成的心态,中国的创业赌性比较大。等用户量上来了,才引入 APM。用户体验是第一位的。国外是精细化运营的,人比较少,所以要留住每一个用户,国内不一样,只要增长率高于流失率就可以。很多行业初期是这样,后期则关注精细化运营,才想到 APM 的重要性。

InfoQ:客户对 APM 最强烈的需求有哪些方面?

何晓阳: 我认为主要有三个。首先是端到端的性能管理可视化。在分布式部署的复杂 IT 环境中,从前端浏览器到后端应用服务器、数据库,能够有效的监控和分析每一个交易环节的性能信息。第二个是用户体验,具体说面向真实的用户体验,实时的知道甚至预测何时出现问题,在用户还没有察觉之前,就由工程师来解决掉。第三个是,从业务的角度看 IT,通过 APM 分析数据,把业务信息、性能信息放在一起分析,进一步发现数据之间的关联。有点类似于 BI。

InfoQ:用户的性能问题最容易出现在哪些方面?

何晓阳:举三个典型例子吧。第一个是在数据库调用方面出现了严重的问题,循环几千次,对于其他的第三方服务也是类似的问题。第二个是,多个交易系统,其中某个不受重视的系统对资源的配置没有设置上限,结果该系统的用户在突然增加时,耗尽了关键的共享资源,其他交易系统无法正常工作。第三个则是配置方面,预分配了太多的资源,而实际使用率很低,导致性能问题。

InfoQ:OneAPM 刚搬到新办公室,据说又要换更大的地方?

何晓阳:是的,我们已经在旁边的写字楼预定了一块更大的办公空间。现在员工大约有 200 人,以后每年都会有 100 多人的招聘计划,现在我们的 SaaS 平台客户需求非常旺盛,需要补充更多的人才来满足业务。

InfoQ:上次参加 OneAPM 的“C to O”发布会,以应对 Compuware 退出中国的遗留问题,现在进展如何?

何晓阳:主要三个方面吧。首先,大约 40% 的渠道商已经选择了与我们合作;其次,原来 Compuware 客户也都在与我们谈后续的合作;第 3 点,员工方面,我们已经招聘了一些原来公司的优秀的 APM 专家,包括研发、测试等职位,目前不少已经正式上班。

InfoQ:感谢晓阳接受专访。

2015-04-17 02:255581
用户头像

发布了 501 篇内容, 共 248.4 次阅读, 收获喜欢 57 次。

关注

评论

发布
暂无评论
发现更多内容

mac虚拟机系统镜像下载-Windows11系统镜像安装包 及PD虚拟机安装包

Rose

Mac文件管理器和FTP客户端ForkLift中文破解版 支持M1和mac14系统

Rose

面向 NGINX 和 NGINX Plus 的 OpenTracing

NGINX开源社区

ruby OpenTracing Jaeger zipkin NGINX PLUS

多功能文本计算器 Soulver 3 for Mac v3.10.3激活版

影影绰绰一往直前

Archicad 27 for Mac v27.2.0激活版:建筑设计新纪元

影影绰绰一往直前

Tipard Video Converter Ultimate for Mac v10.2.60中文版

影影绰绰一往直前

可视化网页设计软件 Blocs for mac v5.2.3激活版

影影绰绰一往直前

FastRawViewer for mac(Raw查看器)v2.0.8激活版

影影绰绰一往直前

分享10个HTML小技巧,提高你的编码技能

秃头小帅oi

强大的压缩和解压缩工具Keka for Mac v1.3.8中文激活版

影影绰绰一往直前

【Mac/win永久激活】Acrobat Pro DC 2024直装便携版

Rose

AIGC创作活动 | 跟着UP主秋葉一起部署AI视频生成应用!

阿里云大数据AI技术

人工智能 自然语言处理 阿里云

支持M1/M2/M3:Omi NTFS磁盘管理助手下载

Rose

WidsMob AI Retoucher for Mac(AI照片编辑工具) 中文版

Rose

[自研开源] MyData v0.8.0 更新日志

LIEN

开源 数据仓库 数据融合 数据集成 API对接

云起无垠创始人沈凯文博士入选《2023胡润U30中国创业先锋》榜

云起无垠

WiFi Explorer Pro for mac v3.6.3激活版 WiFi无线网络管理工具

影影绰绰一往直前

必须要了解的11 个 HTML 技巧

伤感汤姆布利柏

低代码:推动新质生产力的引擎

天津汇柏科技有限公司

低代码开发 新质生产力

数值计算和科学编程MATLAB R2023b中文版永久安装密钥【Mac/win]】

Rose

详解Java Chassis 3与Spring Cloud的互操作

华为云开发者联盟

Java 微服务 华为云 华为云开发者联盟 企业号2024年4月PK榜

JetBrains CLion 2024 for Mac v2024.1中文激活版

影影绰绰一往直前

AutoSwitchInput Pro 自动切换输入法专业版for mac 支持M1、M2

Rose

大量数据如何做分页处理

华为云开发者联盟

开发 数据处理 华为云 华为云开发者联盟 企业号2024年4月PK榜

Mac破解软件:Beyond Compare 4 中文版永久密钥

Rose

草图大师2024下载 SketchUp Pro mac中文一键破解版

Rose

终端SSH工具SecureCRT如何使用? mac SecureCRT使用教程 附SecureCRT永久安装密钥

Rose

油猴Safari浏览器插件 Tampermonkey for Mac中文破解版

Rose

多媒体播放器软件Infuse for Mac v7.7.3免激活版

影影绰绰一往直前

HostsWard for Mac 2024.1 注册激活版 macOS广告拦截软件

影影绰绰一往直前

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(3)

HMS Core

HarmonyOS

专访OneAPM创始人何晓阳:APM将是开发者必备服务_Java_崔康_InfoQ精选文章