5 月 22 日,在最新一期的飞天发布时刻上,阿里云宣布多款可观测产品全面升级,其中一项是应用实时监控服务 ARMS 在业内率先推进了与 OpenTelemetry 开源生态的全面融合,极大丰富了可观测的数据类型及规模,大幅增强了 ARMS 核心能力。
本次阿里云 ARMS 产品全面升级的背景是什么?为什么会产生围绕 OpenTelemetry 进行产品演进的核心策略?在云原生、大模型等新型应用架构类型层出不穷的今天,又将如何为企业解决新的挑战?飞天发布时刻在第一时间采访了阿里云云原生应用平台产品负责人李国强,让我们跟随这场访谈实录,走进全新升级的阿里云可观测产品。
阿里云本次重磅发布应用实时监控服务 ARMS 进行了全面的能力升级,为什么要做这样的演进?这背后希望传递给大家什么样的信息?
李国强:这是一个非常好的问题,借此我也和大家分享一下 ARMS 产品演进的一些方向和策略。ARMS 是应用性能监控领域的产品,在整个应用架构随着市场需求变化的不断演进下,它自然地会随之发生一些变化。
比如像前两年云原生应用、以及这几年大模型应用的出现,应用架构一直在演进。作为一个应用性能监控产品,同样要不断去迭代自己的功能,持续对新类型应用提供性能监控能力。帮助企业将应用架构性能与稳定性做好,这是为什么 ARMS 不断的进行演进、支持新能力的原因。
在最新的发布的能力中,有两大块能力也是完全契合新的应用类型与架构变化的。
第一是整个端侧应用的能力提升。随着移动互联网走进千行百业,大家用手机端去做事情的场景会越来越多,频次也会高一些,这时候端侧的性能监控就变得越来越重要。因为很多时候用户发现性能出了问题,作为一个厂商去诊断的时候,如果只看后端的监控性能,是不能够找到这个问题的根因的。
通过 ARMS,我们对用户体验监控(RUM)能力进行提升,去帮助企业解决这方面问题,它有几个重要的演进特征:
- 第一个,就是对多端的支持。像 iOS、安卓、小程序,包括 React 等一些新的技术,使端侧类型变得非常的多。那怎么能够在一个产品里面支持所有客户端类型,对于企业来讲是非常关键的。
- 第二个,就是现在用户对体验要求越来越高之后,对于企业来讲,也需要能够精细化的定位每个用户的请求是不是出问题。所以在最新的能力中,我们支持了以会话 Session 为粒度的可观测分析能力,使企业出现问题时能快速进行根因定位。
- 第三个,就是在应用监控这块,我们拥抱了 OpenTelemetry 这样一个开源的标准,前面我们讲到今天客户端的类型非常丰富,各种各样的数据的采集方式和数据的格式,我们借助开源的力量,实现真正的统一。当我们基于这种统一的采集方式、数据格式的时候,会更快的构建出一个可观测体系,这对企业也是非常关键的。
- 第四个,是如何对客户端的性能进行深度分析诊断,这也是非常关键的。包括会话的分析、页面的分析、资源的分析、异常分析等等,这些都是用户快速去发现端侧问题需要关注的地方。
另外是在应用监控即后端应用方面,刚才讲到了近几年随着微服务的兴起、云原生应用、大模型应用的不断出现,也催生了应用监控能力不断的提升,包括近年来在开源体系的支撑之下,我们原有的自研探针也升级到了以 OpenTelemetry 作为基础的探针模式。
这样使得我们能够更好的去借助整个开源社区的力量,在这之上还能再去做更强的自研能力的增强,使用户一方面可以去拥抱开源这样一个体系,另一方面还能得到我们一些产品上的加持。
第二个就是对多语言的能力支持。因为今天企业的应用类型越来越复杂了,它有原有的、老的应用类型,也有新兴的互联网的、手机的、大模型的应用,必然会导致语言类型多。之前我们有一个调研,结论是大部分的后端应用都是以 Java 为主,但这两年我们发现一个非常明显的趋势:互联网公司开始越来越多地用 Go 语言,大语言模型越来越多地用 Python 这个语言。
所以在最新的能力里面,我们除了持续加强对 Java 语言的支持之外,还增加了对 Go 语言和 Python 语言的无侵入的支持能力,使得用户再去构建云原生应用、大模型应用的时候也能够以无侵入的方式获得监控的能力。
第三个增强就是持续的剖析能力,Continuous profiling。这也是今天去做一些精细化的问题诊断时需要的,它能够在整个应用程序里形成一个切面,找到某一个问题出现时 CPU、内存等的一些特征,这对用户诊断一些比较复杂的问题的时候也是非常关键的。
另外,刚才也讲到近来大模型应用非常的火,其实从去年开始已经有非常多企业在用大模型构建应用了。大模型的应用架构其实和原有的应用架构也是不太一样的,它里面有比较多的像对检索增强的调用、对大模型本身的调用,这些调用在监控里是有特殊的数据格式和语义的。
在 ARMS 里面我们也最新推出了针对大模型应用的可观测能力,对用户是否为大模型调用的场景进行识别,并且给他一个专属的展示界面,使用户能够看得非常清楚,看到大模型应用是不是做了 RAG 的检索增强调用、它的响应时间、Token 量等等一系列的能力,帮助用户在构建大模型应用的时候调试及上线后的一些问题诊断等。
这些方面其实都是今天 ARMS 在面对新型的应用架构、新型的应用类型的时候推出的一系列新的能力,帮助用户持续构建好应用,同时还能不断地加强用户去精细化的诊断问题、发现问题的能力。
可观测性是云原生应用的基础。本次应用实时监控服务 ARMS 整体升级的一个主要的方向是围绕 OpenTelemetry,它带来什么重要的意义?
李国强:这也是一个非常重要的产品策略的一个演进的方向。我们明显看到近几年一个趋势,就是在可观测这个领域,开源已经成为了一个事实标准,在主导这个领域的主要的发展,包括像 Prometheus、Grafana,以及今天我们讲到 OpenTelemetry,这里的主要目标是能够让这个开源主导的技术发展得更加活跃,包括在用户使用的时候它的推广和普及性会更好。
那回到今天 ARMS 这个重要发布来看的话,这次全面拥抱 OpenTelemetry 生态的演进,有几个重要点可以和大家分享。
首先,OpenTelemetry 最核心的使用领域是 Tracing,我们前面也讲到了,在这个领域里需要做到对整个应用调用的链路进行跟踪和数据的采集,这是非常多元的。OpenTelemetry 通过定义标准的采集端和数据格式,统一了各种各样数据源的采集方式和获取数据的格式,使用户去构建一体化的可观测体系和架构的时候,变得更加简单了。这个标准化其实各个厂商有些时候是很难去实现的,只有通过开源、标准的这种方式才能去做到它。
其次,就是广泛多语言支持,前面其实我也提到了,今天企业内部的语言使用越来越广泛,OpenTelemetry 作为一个非常活跃的社区,其实对多语言的支持天然是非常好的,这也是开源社区常见的一种形态,所有人大家都来贡献,那在多语言支持这件事情上肯定也比一个人做要快,所以广泛的多语言支持也是我们去看重 OpenTelemetry 社区非常重要的方面。
第三个就是活跃的社区生态,除了我们刚才讲的对多语言的支持,在可观测里面还有一个多样性,就是框架的多样性。同样的,这通过活跃的社区生态是也是更好、更容易支持的,社区往往在设计架构之初就会考虑到扩展性,因为它需要去更多的人贡献,那这个扩展性也非常利于云厂商在开源能力之上去做一些增强。
基于 OpenTelemetry 这样一个标准,ARMS 也在这之上做了非常多自研能力的增强,包括指标采集、采集率的调整等等,这样一些能力使得用户既能够享受到开源社区的能力,不被厂商绑定,同时又能享受到云厂商在这上做的各种各样能力的增强,这些原因是我们今天去选择去拥抱开源以及去拥抱 OpenTelemetry 的最核心。包括我们希望去借助这种 OpenTelemetry 这样一个能力能够帮助用户可以更加便捷快速地构建起整个可观测的体系。
本次 ARMS 也带来免费试用额度,登录阿里云官网 “aliyun.com” 搜索应用实时监控 ARMS,或者点击此处,即可获取免费试用资源。