作者:凌敏
稿件信息:
作者丨凌敏
采访嘉宾丨阿里云云原生可观测团队
嘉宾介绍:
司徒放,阿里云可观测技术负责人,资深技术专家
徐彤,阿里云可观测高级技术专家曹剑,阿里云可观测高级产品专家
王希正,阿里云可观测高级运营专家
IT 系统的运维监控最早出现在上世纪 90 年代。彼时,分布式架构正向传统的单体架构发出挑战,其带来显著优势的同时,也为系统开发和运维带来了新的难题。在这一背景下,IT 人员开始引入监控技术,观测主机上的应用运行情况,及时定位问题。
随着分布式系统、微服务、云计算技术兴起,IT 系统发生多轮演进,复杂的运维环境对监控提出了更高的要求。2018 年,CNCF 将可观测性引入 IT 领域,取代监控。可观测性也一跃成为云原生技术领域最热门的话题之一。
5 年后的今天,可观测性技术早已从早期的运维排查问题工具,逐渐进化成业务生产过程中的生产力工具。Gartner 更是将应用可观测性列为“2023 年十大战略技术趋势”,并表示“如果能够在战略中予以规划并成功执行,可观测性应用将成为数据驱动型决策的最强大来源”。
作为阿里巴巴集团最早的监控 & 可观测团队,云原生可观测团队早年打造了 EagleEye(鹰眼)作为分布式调用跟踪系统应用于阿里内部各业务线,随后将该工具进行产品化,结合云上客户的广泛需求,打造出了阿里云应用实时监控服务 ARMS。
那么,阿里云云原生可观测体系的建设背景与历程是什么样的?可观测体系建设的重难点是什么?如何从内部自研走向产品化?2023 年,企业和开发者应该如何理解可观测性?在本期访谈中,InfoQ 有幸采访到了阿里云云原生可观测团队的多位核心成员,以期找到上述问题的答案。
01 阿里云云原生可观测体系建设历程
2010 年 4 月,Benjamin H. Sigelman 等人在 Google Technical Report 上发表了一篇名为《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》的论文,介绍了 Google 生产环境中大规模分布式系统下的跟踪系统 Dapper 的构建和部署经验。这篇论文正式揭开了分布式链路追踪的技术大幕,也为后来涌现出的包括 EagleEye 在内的分布式调用系统提供了灵感源泉。
分布式链路追踪 EagleEye 的设计与实现
2012 年,阿里的淘宝电商业务正处于高速增长期,为满足业务快速迭代的需求,支撑不断提高的交易量,阿里采用微服务架构对整个业务逻辑做了一次重构。微服务架构在性能、可维护性和可用性上带来优势的同时,也带来了四大难题:
- 故障定位难:一个简单的下单购买操作背后是由十几个甚至数十个微服务共同完成的,这些微服务又由不同的团队负责,微服务的过度协同带来的结果就是,一旦出现问题,需要十几个团队一起来解决;
- 容量预估难:在大促场景下,过去只需按照预估的流量与当前系统的单机压测容量做对比,再将所有的系统按比例去扩容即可,但在微服务架构下,每个系统在核心链路中的参与度、重要性都不同,无法进行等比例的扩容;
- 资源浪费多:这也是容量预估不准造成的后果,同时,资源浪费多也会引发性能优化难的问题;
- 链路梳理难:复杂的微服务体系,让各个微服务系统的负责人很难梳理清楚每种业务的上下游细节逻辑对自身系统的影响。
“我印象比较深刻的是,当时淘宝已经迭代出了上百个应用,但却没有一个业务架构师能够讲清楚整个业务的系统架构是什么样子的。正是在这个时候,我们遇到了 Google 的《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》这篇论文,我们参考了 Google 的主要思想,在阿里内部做了落地实践。”阿里云可观测技术负责人司徒放回忆道。
正是在这一背景下,EagleEye 应运而生。EagleEye 是一个以链路追踪技术为核心的监控系统,通过收集、存储、分析分布式系统中的调用事件数据,协助开发和运维人员进行故障诊断、容量预估、性能瓶颈定位以及调用链路梳理。2012 年,EagleEye 第一次发版,EagleEye 1.0 能够构建链路跟踪核心体系,提供调用链与离线报表服务。
当时虽未出现可观测性一词,但业界已将其分解为三个更具体的方向展开研究:Metrics(指标)、Tracing(链路追踪)以及 Logging(日志)。这三大方向也是此后 OpenTelemetry 协议定义的可观测性三大支柱。
最开始,EagleEye 主要关注 Tracing 领域,这也是业界比较早期的大规模 Tracing 实践。“EagleEye 解决了阿里当时微服务架构下的分析和诊断挑战,有很多阿里内部研发人员在应用它。”司徒放说道。
2013 年上半年,EagleEye 打通了淘系所有常见中间件的调用数据,应用负责人能看到自己的系统在整个链路上的执行情况,为大促和单元化的容量规划、依赖分析提供了数据支撑,并具备了快速定位分布式系统故障的能力。
EagleEye 的第一个重要发展契机是淘宝的双十一大促,这是 EagleEye 的首次大规模应用。也是在这时,EagleEye 上线了实时链路大盘,为全链路压测提供压测透传和链路来源流量分析。
当时,为了提前做好系统容量的准备,阿里对线上系统进行了全链路压测,而全链路压测的底层其实是与 EagleEye 的 Tracing 能力紧密相关的。于是,EagleEye 从 Tracing 领域切入到 Metrics 和 Logging 领域,通过 Traces 去做流量级别的、精准的 Metrics 数据统计,用来分析上下游应用的依赖关系,提供一个全局流量拓扑。同时抽象了一个通用的实时日志处理系统,用来做通用的日志采集、计算、存储方案,进一步提升问题排查效率。
EagleEye 1.0 之后,团队陆续发布了 2.0、3.0、4.0 版本,围绕链路跟踪的核心能力, EagleEye 逐步构建了集监控、诊断、优化于一体的综合性服务平台:提供多维查询与实时报表以及数据分析能力;基于内存统计,提供精准实时报表与系统监控服务;基于链路追踪,提供单机诊断与业务定制化服务。
脱胎于 EagleEye,2017 年,云原生可观测团队打造出了应用实时监控服务 ARMS,并于 2022 年 6 月推出阿里云云原生可观测套件(Alibaba Cloud Observability Suite),打造云原生时代完整可观测数据生态与产品套件。
从内部自研工具到产品化
EagleEye 从最初的内部自研工具走向产品化,是一个自然而然的过程。
在自研体系下,EagleEye 的出现为阿里内部降低了成本和风险,提高协作效率。同时,在云原生变革的大趋势下,云原生可观测团队也越来越深刻地意识到,PaaS 类产品一定得是开放的,是基于标准和开源的。结合云上客户的广泛需求,云原生可观测团队将 EagleEye 进行产品化,打造出了阿里云应用实时监控服务 ARMS。
“阿里内部的技术栈是比较统一的,在内部业务场景中,我们采用完全自研的形态去支撑业务没有任何问题。但外部客户的技术栈百花齐放,要求所有人学习和使用我们的技术体系并不现实。于是,我们的整个可观测体系从自研转向了开源的 Prometheus。”司徒放提到。
Prometheus 最初是由前 Google 工程师在 SoundCloud 上构建的开源系统监视和警报工具包,自 2012 年创建以来,许多公司和组织都采用其作为监控告警工具。2016 年,Prometheus 加入 CNCF,成为继 Kubernetes 之后的第二个 CNCF 托管项目。
如今,Prometheus 已经成为云原生时代的可观测事实标准。根据 CNCF《Cloud Native Observability MicroSurvey》调查,84% 受访者在可观测技术栈中使用 Prometheus。
司徒放表示,转向 Prometheus 架构后,再去审视移动端、应用、中间件、云服务的基础设施监控等子领域,我们发现采用开放的体系可以让整个数据模型得到统一,整个实体关联也更加简单。“这和当时秦始皇统一六国后实行的书同文、车同轨、度同制道理是一样的。我们的整个可观测体系统一后,打通了很多数据孤岛。”
在转变的过程中,云原生可观测团队也面临着来自技术与思维的双重压力。
技术上,过去团队支撑内部业务应用,可观测工具能够保证运行稳定、快速响应业务需求即可。但可观测云产品的市场需求多元,对易用性、可扩展性,以及应用集成的能力要求较高,并需要满足数据安全标准。思维上,过去团队着重关注技术,但现在也需要考虑如何做好商业化产品,需要设计产品的差异化能力,以及盈利模式、用户增长。
“这些对于我们团队来说,都是过去没有经历过的问题,我认为这个过程也是一个很好的机会。能够把自己擅长的技术打造成一个可能会被全球各个企业广泛使用的产品,并与其他世界一流的产品展开竞争,对于程序员来说,这应该是最大的荣耀和梦想。”司徒放说道。
在 Gartner 发布的《2022 Gartner 应用性能监控与可观测魔力象限》中,Gartner 将阿里云定义为此魔力象限中的细分领域者,并给予了高度评价。
当前,阿里云可观测产品由核心产品应用实时监控服务ARMS、可观测监控 Prometheus版、可观测可视化 Grafana 版、可观测链路 OpenTelemetry 版联合云监控 CMS、日志服务 SLS 共同组成,以公共云 SaaS 服务、混合云不同产品形态为不同规模、不同业务需求的企业提供开箱即用的可观测服务。其中,阿里核心容器调度(千万核规模)以及超过 50 款云产品,全面基于 Prometheus 构建可观测体系。
在提到与同类型产品的差异化时,阿里云可观测高级技术专家徐彤表示,阿里云可观测产品及解决方案的显著优势是上下游产品生态的支持,结合阿里云整个原生生态,用户可以在一个统一的平台上实现对云计算应用的全方位可观测,效率与便捷性大幅提升。过去,EagleEye 在阿里内部积累了大量运维场景经验,脱胎于 EagleEye,ARMS 也积累了丰富的行业应用与运维经验。
此外,阿里云可观测产品形态丰富,可观测监控 Prometheus 版托作为完全兼容开源 Prometheus 的全托管监控服务,提供开箱即用的 Grafana、智能告警等组件,并预置常见场景模板。用户无需关注系统搭建与日常维护,有效提升运维监控效率。在开源开放方面,阿里云可观测产品兼容业界通用的 OpenTelemetry 标准,支持多语言协议及 SkyWalking、Jaeger 平滑迁移。
“开放与集成是我们很重要的能力,我们坚持将开源标准和产品集成到平台,方便用户在现有产品的基础上进行拓展和优化。同时我们也在积极贡献开源社区,与业界共同推动云原生可观测生态发展。”徐彤介绍道。
下一阶段,阿里可观测产品体系的重点是数据的集中管理和关联,整个系统端到端的分析将更加全面、完整、统一,同时结合可观测下游服务与人工智能技术,从监管控一体化走向智能化运维。
02 云原生可观测团队:从“幕后”走到“台前”
从打造 EagleEye 应用于阿里内部各业务线,到打造阿里云应用实时监控服务 ARMS 服务更多企业,云原生可观测团队基于可观测行业趋势,将开源项目与商业产品相结合,帮助越来越多的企业获得完整的可观测能力,节省运维成本。
徐彤表示,随着当前千行百业以及云产品对可观测的重视度与日俱增,可观测在云原生体系中所扮演的角色也发生了变化,很多团队会主动找过来,一起建设自己的可观测能力。“在过去,我经常说我们团队是幕后无名配角,但现在,我们也会开玩笑说,自己已经慢慢地走到了台前男二号的角色。大家更重视我们,我们也会提供更多、更重要的能力,二者结合,越走越远。”
而 EagleEye 既是阿里云云原生可观测团队打造的第一个产品,也是云原生可观测团队最初的名字,其诞生背后的逻辑其实是客户需求和行业趋势决定的。
据司徒放介绍,企业做云原生数字化转型会先选择做容器化、微服务架构的改造,这也导致整个开发、运维体系以及协作模式发生翻天覆地的变化。在这一背景下,云原生团队开始进一步孵化出可观测团队。目前,云原生可观测团队主要由包括应用监控、前端监控、链路跟踪、告警管理、Prometheus、Grafana在内的技术团队,以及运营、解决方案等团队构成。“在整个云原生大团队中,可观测团队的定位就是为我们的客户提供一套统一、高效、易用的原生可观测解决方案。在日常工作中,云原生可观测团队与容器、存储和网络、安全、解决方案等多个团队密切协作。”
作为可观测产研团队的重要组成部分,运营团队也在其中扮演着重要作用。
“云上产品和服务越来越走向 PLG (Product Lead Growth)模式,运营也变得更加重要,作为足球比赛中‘中场’的角色,即衔接用户需求与产品服务。”阿里云可观测高级运营专家王希正认为,在市场侧,从应用性能监控领域到可观测,市场发生了很大变化,运营团队需要构建全新的技术内容,协助开发者快速找到解决自身问题所匹配的技术方案,并配套开发者体验场景及优秀的文档能力,让开发者能够自体验自生产自服务。在服务侧,可观测产品作为数据汇聚地,如何呈现数据从而辅助决策至关重要。运营团队需要提供丰富的模板,帮助开发者自助享受云上可观测能力,真正用起来、用得好。
作为“中场”,运营团队还需要拥有出色的数据洞察能力,发现不同业务场景下的主流用户需求及体验问题,驱动产品研发为用户提供更好的服务。“未来,B 端产品尤其是以 SaaS 交付方式提供的产品,产品驱动增长的 PLG 模式将成为主流。运营同学除了做好增长外,更多需要深入到自身产品的使用体验中,基于市场的洞察推动产品改进到一个领先的位置。这也会是整个团队的一大助力。”王希正总结道。
03 可观测力即生产力
2018 年,CNCF 将可观测性引入 IT 领域。5 年后的今天,可观测再次获得了广泛关注,并被 Gartner 认定为“2023 年十大战略技术趋势”。Gartner 表示,可观测性使企业、机构能够利用数据来获得更加明显的竞争优势,在最恰当的场景挖掘出数据背后的战略价值,以便规划与决策战略方向而不是盲目的快速行动。因此,可观测性应用作为一种强大的工具,如果能够在战略规划过程中充分使用,这将成为数据驱动型决策最强大的支持。
阿里云可观测高级产品专家曹剑认为,与 5 年前相比,当前可观测市场正迈入一个全新的阶段——数据为王。
随着千行百业进行云原生架构转型升级,可观测数据量得到了指数级增长,数据之间的关联分析以及传输也带来了可观测数据模型的标准化,标准化也会反过来促进数据的上下游协作,并进一步催生出多个细分市场。比如,有些厂商专门做可观测数据的采集,有些厂商专门做可观测数据的编排,等等。而在安全、软件质量等场景下,新的可观测产品也瞄向了新的客群。“现在不单是运维同学在应用可观测产品,运营、市场以及管理者,都开始使用可观测工具。在这样一个数据为王的时代,谁能够把可观测的数据价值挖掘出来,谁就能够给用户提供更好的可观测服务。”
与此同时,随着国内云服务越来越成熟,开发者用云深度增加,可观测作为具有代表性的云服务,已经从早期的运维排查问题工具逐渐变成了业务生产过程中的生产力工具。
王希正表示,从近些年国内外可观测的发展来看,有一个很明显的趋势是,企业的可观测力即生产力:
从云产品视角看,当前云计算不再只提供资源服务,越来越多的云产品能够帮助企业更 + 高效、更易用、更安全的创建云原生应用,使业务研发模式发生深刻的变革,各个云的组件本身都需要提供开箱即用的可观测力。以 MQ 为例,它其实代表了企业业务数据的流向,云上的 MQ 通过 Prometheus+Grafana 提供的可观测能力可以快速对线上消息消费问题进行排查和定位,还能通过分析消息流量变化趋势、流量分布特点或消息体量,帮助客户更好的进行业务规划,这也驱动了可观测的发展。
从开发者及企业视角看,构建可观测力不止是运维或者 SRE 部门的事情,越来越成为企业业务决策的一个方向。对于产品业务部门来说,可观测能够将业务数据与 IT 性能与指标关联,是 PLG 产品的必备条件;对企业管理者来说,可观测产品有助于构建高效的 Issue to resolve 流程,为 IT 和业务提效。
“整体来说,驱动可观测增长的重要动因实际是当前越来越激烈的市场竞争以及高效的研发模式,从过去的月度发版到很多业务的周迭代,势必要引入可观测能力去主动发现流程与过程问题,而不是在问题出现后才去解决。”王希正总结道。
04 写在最后
2023 年,可观测性技术还将持续地发展与演进。
未来,AI 驱动的可观测将得到更多应用,并对数据进行了更加高效的整合,故障预测、异常检测、自动化业务都会逐步变得智能化,可以更好地降低成本。同时,随着低代码的应用更加广泛,企业运维门槛降低,可观测性技术也需做好迎接这一趋势的准备。此外,用户对安全隐私保护重视度与日俱增,未来的可观测产品设计中,也需要更加注重合规性与安全性,充分保护数据。而在实时性方面,随着应用程序以及基础设施建设完善,可观测系统本质上等同于大型数据处理系统,如何更快、更稳定地处理数据也是从业者需要思考的课题。
徐彤表示,下一步,云原生可观测团队会重点关注几个方向:
- 可观测性技术演进:持续关注可观测领域的技术动态,并与开源项目以及行业标准相结合,优化现有产品。同时探索 AI 技术在可观测领域的应用,帮助用户实现更加智能的自动化运维。
- 可观测性体系化建设:当前的可观测产品主要聚焦在运维监控阶段,在整个软件生命周期的管理中位置偏后,需要结合其他技术继续往前走。
- 解决方案:每个行业在不同阶段都有自己的可观测解决方案诉求,需要深入了解各个行业的痛点以及诉求,为用户提供一站式的可观测能力。
- 持续运营:加强运营动作,帮助用户更好地理解和应用可观测性技术。
- 全球化:关注全球化的可观测性诉求。
点击此处立即免费试用