阿里云技术专家杨泽强:弹性计算云上可观测能力构建

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
应用实时监控服务-应用监控,每月50GB免费额度
可观测监控 Prometheus 版,每月50GB免费额度
简介: 可观测性的发展趋势为标准化与多样化

2022年7月4日,【可观测,才可靠——云上自动化运维CloudOps系列沙龙_第一弹】正式推出。实现和保障系统的高可靠性和高稳定性,是上云后大家最关注的两项重要指标。如何通过云上的自动化CloudOps产品体系持续地提高可靠性和稳定性,是研发和运维需要共同努力的重要方向;持续提升可观测性则是达成目标的最直接和最有力的手段之一。


阿里云弹性计算CloudOps系列沙龙也将“可观测性与可靠性”作为第一弹的主题。本次沙龙直播覆盖四天,首位分享的嘉宾是阿里云弹性计算SRE技术专家杨泽强,他带来的主题分享是 《弹性计算云上可观测性能力构建》,以下是他的演讲内容整理,供大家阅览。

图片1.jpg


01 Why Observe?


图片2.png


可观测最早起源于农业时代气象观测,后来的电气时代、自动化时代都存在可观测性产品。控制理论中的可观察性指系统可以由其外部输出推断其内部状态的程度,系统的可观察性和可控制性是数学上的对偶概念。


以汽车为例,在驾驶过程我们无法直接感知到汽车系统的内部状态,而通过仪表盘可以获知当前发动机的转速、速度、油量以及其他系统的运行状态。


软件工程里,通过采集logs、metrics和traces三个维度来理解系统内部状态,即为可观测性

图片3.png


可观测性对于软件全生命周期有着极大价值。可以通过可观测性查看当前系统负载、异常链路、异常情况以及报警等;可以基于可观测性做预警,再基于预警进行分析,从而尽可能降低故障感知时间和定位时间,最终缩短故障MTTR。


可观测性是软件系统稳定性保障的基础。而从软件工程整个视角看,可观测性能够提供的远不止稳定性保障。


软件工程最早期的需求分析阶段,可以通过可观测性进行容量预算评估;CI阶段可以进行研发质量控制,比如构建成功、测试覆盖率等;交付过程中,可以通过可观测性对交付质量进行保障;同时成本和安全也能通过可观测性得到有效控制。

图片4.png


从软件的整个生命周期来看,如何构建自己理想的可观测性模型并没有标准答案。但是从单体应用或分布式应用到微服务等典型的软件架构来看,可以抽象出一个标准模型,如上图,由下至上分为5层:


资源层:包括主机、存储、网络、Runtime等。

平台层:包括RPC、DB、消息、缓存、调度等。

应用层:包括可用率、时延、错误数、流量、饱和度、日志等。

产品层:包括订单量、订单成功率、生产成功率、生产耗时等。

客户层:包括业务延续性、SLA、拨测等。客户层是最容易被忽视但极具价值的一层。我们需要更多关注到客户业务的连续性、从用户视角如何使用可观测能力等。

图片5.png


当前,可观测性技术体系的生态和产品已经十分丰富。Logging侧有Logstash、iLogtail、SLS等,Metrics侧有Prometheus、Grafana、Kibana等,Tracing侧有Elastic、Opentemeletry、Skywalking等。


构建可观测性过程中如何选型没有标准答案,需要根据自己的实际需求来选择。


02 Observability on Cloud



图片6.png

2011年,弹性计算可观测性上云的最初阶段,可观测性体系缺失,主要为单体应用模式,只有几个监控预警;2016年,预警接入阿里自研监控平台,主要实现方式是传统的监控系统以及基于时序数据库的 metrics 采集和展示系统;2019 年,阿里开始逐步将 ECS 核心应用搬到云上,基于云构建体系,包括云监控和SLS;2021 年,阿里开始了云原生改造,目前已经完成90%左右的改造。另外,我们也整在云原生的基础上将技术体系改为开源的标准技术体系。


云上的弹性、可靠性以及天然具有多地域隔离等特性,为监控平台提供了极大的优势。另外,云原生的技术一直紧跟业界最新开源标准,其方案足够通用、足够先进,这也是自研平台研发节奏无法相比的。

图片7.png


基础设施的监控主要通过云监控ARMS 两个产品来承载。ARMS 是一个APM 工具,负责采集机器的 node 指标。


平台层包含诸多中间件、数据库等。此前,往往需要对接很多不同系统,而在云上,ARMS 提供的原生技术 eBPF 可以无缝采集全部指标,比如黄金三指标、数据库、MySQL等,最终生成标准的 metrics 数据。


应用层的黄金三指标、可用率、时延、错误率、调用次数等,可以通过 ARMS 和SLS 相互补充来构建。


业务层 ECS 实例的生产成功率、耗时等数据,是基于 ARMS 、SLS的trace能力和 metrics能力来构建。


客户层主要基于ARMS和SLS构建。我们需要从认知上进行转变,可观测性除了可以提供给 PM 使用,还可以提供给运营人员、财务人员以及管理者使用,它对于不同角色的意义和价值也不一样,这也是可观测性的价值所在。

图片8.png


上图为 ECS 整体的升级方案。


老平台的Monitor和Sunfire迁移到云原生,主要为将基础监控迁到CMS 云监控,将业务监控、应用监控迁到 ARMS ,trace 能力也会从最原始的日志编排服务迁到 ARMS trace 和基于SLS的日志库编排能力里。


除了云原生的开源技术标准,我们还基于基础能力自研了自动化运维体系,比如告警、故障诊断和快速恢复等。底层能力使用 SLS 和 ARMS 对外的 Open API 来构建。


可观测性比较好的观测视角是应用视角。另外,我们也基于一些业务的特殊性,从业务维度构建可观测性,比如 ECS 有集群,则基于 cluster 维度来构建可观测性。

构建完所有的可观测性后,我们还构建了统一的预警平台和自动化运维能力。

图片9.png


左侧最初的Monitor和Sunfire基于 log 构建,右边最新的可观测性系统是基于Prometheus和 Grafana 标准的开源方式构建。实现了从自定义多样性到云原生,从繁芜复杂到标准简化的转变。

图片10.png


以监控预警为例,上图左侧为上云之前的监控预警体系,由阿里集团监控、Sunfire监控平台和SLS告警构成。


上云后的监控预警体系如右侧所示。基于 Metrics 数据可以产生标准化的数据计算,比如计算影响面。运维操作里的数据也可以通过动态计算得出,可以查看原始堆栈、现场的关键指标、变更等。另外,我们还基于原生API 构建了owner精准推送、预警标准化操作等能力。


03 Beyond Observability



图片11.png


从软件生命周期视角看,CI过程中会有每日构建和测试以及实时管理大盘;自动化发布会基于Prometheus metrics 数据格式做自动化卡点;运行期提供了自动化运维和 Chat Ops ;当前,我们正在进行基于可观测性来建设安全度量和成本控制。

图片12.png


以效能和质量为例,DevOps环中较为核心的两个环节是持续集成和持续交付,这也是直接影响软件工程质量的两个因素。


在持续集成方面,有 CI  Dashboard ,每次输入代码都会触发 CI ,计算出代码行覆盖率、分支覆盖率、全复杂度以及成功或失败等状态,如上图右侧所示。


在持续交付方面,自动化发布的难点在于如何授信,因此我们实现了金丝雀发布。此外,我们认为发布过程中也需要可观测性,因此,我们将发布阶段的一些核心指标通过metrics Dashboard进行展示。同时会配合应用维度的 metrics 提供原子能力以及发布系统的卡点,以实现发布自动化。


上述功能的本质为将可观测性左移,从软件工程运行期的可观测性移到代码发布和交付阶段,以保障交付代码质量。

图片13.png


可观测性的大部分应用场景是运维场景,比如查看容量、水位、预警等指标。上图为上云之后可观测性在运维方面的应用。

图片14.png


此外,可观测性还可运用于混沌工程,它是混沌工程的核心依赖。混沌工程的核心是故障演练机制,对服务注入故障,以查看是否出现异常。注入故障的前提为系统为稳态,这需要依赖于可观测性体系查看 metrics 指标来确保。其次,探索可能导致不稳定的因素时,需要通过可观测性来对比差异点,通过查看内部哪些系统、哪些环节有问题,发现内部真正隐患,实现提前的故障隐患挖掘。

图片15.png


成本管理和安全可观测是我们正在探索的两个场景。


如何降低成本是管理者关注的重点之一。首先需要明确当前成本,上云之后可能会有混合云场景或多云场景,需要从多个地方查看财务及数据。可以通过可观测性获取系统水位、资源消耗等情况,以进行下一步的成本优化。比如使用 SLS 会有很多日志存储,可以通过可观测性查看 SLS使用率、哪些索引消耗资源等。


安全可观测性要求将安全前置,通过可观测性提前发现安全隐患,比如是否存在异常流量和异常攻击等,通过逐步迭代完善安全体系。


04 Future



图片16.png


未来,可观测性的发展趋势为标准化与多样化


可观测性将从多样化产品逐步转化为标准化的开源标准模型。Loging、metris、tracing 三个方面开源以及商业化的产品已经非常丰富。然而,可选择空间越大,做出决策或最佳实践的难度也更大。因此我们认为未来需要尽快建立可观测性的标准体系,比如tracing的OpenTelemetry,metrics的Prometheus,多数据源展示的Grafana。阿里云也提出了OPLG模型,其中O为 OpenTelemetry, P为Prometheus, L为Loki,G为Grafana。


多样化指可观测性的应用领域将呈多样性发展。从最初只观测单体应用,到后来的监控 APM 并逐渐衍生出各种各样的监控场景,实现万物可监控、可观测。


Q&A环节,观众提问


Q1 可观测性具体应用于软件开发的哪个阶段?

答:传统的可观测性一般应用在运维阶段,关注线上的系统水位、监控运行等。而现在可观测性有左移趋势,在软件的架构设计、CI、CD阶段都有应用,比如提供了 CI 大盘,交付和发布过程中有 metrics 指标的获取和自动化拦截。  


Q2 如何获取可观测性不同维度的数据?

答:资源和平台层,开源的eBPF天然具备采集数据的能力,能够采集MySQL、Redis、Kafka流量、node数据等。产品侧的数据需要通过一定的开发工作来采集。


Q3 阿里云的可观测体系建设使用了哪些商用产品?

答:有SLS和ARMS两个产品。SLS 既有 logging 功能,也有 trace 功能,另外它也可以构建 metrics 和 dashboard ,提供了完整的闭环。


ARMS 目前没有 logging ,只有metrics和tracing,但它的优势为费用低于SLS。另外ARMS提供了完整的 APM 工具链,不仅是 metric 这种数据,还有 insight 数据,比如可以看 JVM的指标并进行分析,还提供了Arthas 的 profile 能力以及智能识别系统异常的能力。


Q4 Prometheus、Grafana链路与ARMS之间存在何种关系?

答:没有直接关系。ARMS 提供了托管Prometheus的服务,与 Grafana 实验室有商业合作,Grafana的部分能力会直接托管在阿里云 ARMS 上。ARMS 基于这两个托管能力,结合其本身的链路追踪服务,可以很好地将三者进行结合,产生1+1>2 的效果。


Q5 实现端到端监测需要统一哪些指标体系?

答:首先,链路的核心指标不能丢,包括资源、平台、应用等。其次,trace指标也是必要的,将端到端的链路串联起来是技术难点,可以通过OpenTelemetry、Skywalking等产品来实现。此外,黄金三指标、 web 服务基于用户侧的拨测能力以及用户视角的可观测性路径也是必要的。以购物下单为例,用户视角的完整链路应该为从 C 端发起请求到下单完成支付整个链路相关的网关监控、支付监控、订单监控等串联而成,并且这些指标能够进行统一展示。


点击这里,观看嘉宾的演讲视频回放。


近期活动预告


【自动化,才高效——云上自动化运维CloudOps系列沙龙_第二弹】来袭,就在7月25—28日,敬请期待。


自动化即是通过运用工具或系统达到减少、甚至是完全取代人工的操作。在研发效能与运维工作中,自动化是降低成本、提升效率必不可少的方式,自动化还能减少人工带来的错误,提升团队满意度。因此,阿里云弹性计算云上自动化运维CloudOps系列沙龙,将以“自动化与智能化”作为第二弹的主题,分享相关思考与实践。


免费报名通道已经开启!即刻扫描下方海报中的二维码报名,进群还能获得最新讲师PPT资料。


沙龙小Tips:观看直播时在弹幕区提出自己的疑问,被讲师抽中回答问题的同学,还会获得加湿器等精美礼品哦!同时在直播结束时填写问卷,也有机会获得便携玻璃杯等多重好礼。

第二弹海报(4位嘉宾)-0720.jpg

相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
3月前
|
人工智能 安全 Cloud Native
阿里云云原生安全能力全线升级,护航百万客户云上安全
【重磅发布】9月20日,在杭州云栖大会上,阿里云宣布云原生安全能力全线升级,首次发布云原生网络检测与响应产品NDR(Network Detection Response,简称NDR)。同时,阿里云还宣布将持续增加免费的安全防护能力,帮助中小企业客户以极低投入完成基础的云上安全风险治理。
198 15
|
4月前
|
消息中间件 编解码 弹性计算
关于阿里云的弹性计算体验及分析
本次体验通过阿里云《告别资源瓶颈,函数计算驱动多媒体文件处理》方案,了解并实践了函数计算等服务的部署流程。一键部署简化了配置过程,几分钟内即可完成应用搭建并上传PPTX文件进行处理。然而,对于不熟悉无服务器架构的新手来说,存在一定的学习曲线和技术门槛。调试和错误排查也可能较为复杂,尤其是处理大规模多媒体文件时。尽管如此,函数计算展现出高度的弹性和自动伸缩能力,能够有效应对突发流量和长期业务增长,同时按需付费的模式有助于成本控制。此外,其与阿里云其他服务的无缝集成简化了多媒体处理流程,并支持快速部署与迭代,提高了整体的可用性和可靠性。
|
7月前
|
存储 弹性计算 运维
浅谈弹性计算管控可观测性体系建设
为什么需要可观测性?可观测性技术对业务团队的价值有哪些?如何建设一个可观测性技术体系?本文将从整体架构到核心设计一一为大家讲解。
163 3
|
弹性计算 Serverless 云计算
阿里云产品体系分为6大分类——云计算基础——弹性计算——Serverless——函数计算
阿里云产品体系分为6大分类——云计算基础——弹性计算——Serverless——函数计算自制脑图
202 0
阿里云产品体系分为6大分类——云计算基础——弹性计算——Serverless——函数计算
|
弹性计算 云计算
阿里云产品体系分为6大分类——云计算基础——弹性计算——弹性编排
阿里云产品体系分为6大分类——云计算基础——弹性计算——弹性编排自制脑图
112 1
阿里云产品体系分为6大分类——云计算基础——弹性计算——弹性编排
|
安全 数据安全/隐私保护 云安全
《阿里云安全白皮书4.0》全新发布,详解云上全栈安全能力
白皮书全新定义了下一代安全架构,首次介绍了如何在云上搭建全栈数据保护体系,并对阿里云在安全体系建设上的要求和相关能力做了详细阐述。
13539 0
|
运维
《企业级基础设施专场-飞天基础设施智能运维_何诚》电子版地址
企业级基础设施专场-飞天基础设施智能运维_何诚
114 0
《企业级基础设施专场-飞天基础设施智能运维_何诚》电子版地址
|
弹性计算 Devops
《弹性计算云上可观测性能力构建》电子版地址
分布式系统、DevOps平台、SRE工程
71 0
《弹性计算云上可观测性能力构建》电子版地址
|
存储 弹性计算 运维
阿里云弹性计算技术专家樊毅伟,云上成本优化实践
高效的自动化运维套件提升资源利用率,搭配多样化的付费方式,一起助力企业成本优化。
阿里云弹性计算技术专家樊毅伟,云上成本优化实践
|
运维 监控 算法
Apsara Stack 技术百科 | 浅谈阿里云混合云新一代运维平台演进与实践
随着企业业务规模扩大和复杂化及云计算、大数据等技术的不断发展,大量传统企业希望用上云来加速其数字化转型,以获得虚拟化、软件化、服务化、平台化的红利。在这个过程中,因为软件资产规模持续增大而导致的软件开发运维和IT基础设施建设运营压力,也将无法继续采用线性增加的方式来解决,且在DevOps思想的影响与引导下,企业对于改善传统IT运维职责权边界不清晰,操作过程无序、提升运维效率及业务稳定性方面也有着迫切的需求。企业必须加快整个IT架构的转型,在基础设施上云后推动应用往云上迁移,充分利用好购买的云基础设施。
1190 0
Apsara Stack 技术百科 | 浅谈阿里云混合云新一代运维平台演进与实践