从数字化到智能化,百度 SRE 数智免疫系统的演进和实践

news2025/4/23 15:38:23

1.    为什么 SRE 需要数智免疫系统?

2022 年 10 月,在 Gartner 公布的 2023 年十大战略技术趋势中提到了「数字免疫系统」的概念,旨在通过结合数据驱动的一系列手段来提高系统的弹性和稳定性。

在过去 2 年的时间里,百度基于该免疫能力的指导思想,实践落地了一套数字免疫系统,并在 AI 大模型能力的加持下逐渐向「数智免疫系统」转型。目前已覆盖厂内关键业务和重点产品,为稳定性保障方式带来了新的路径。

大型系统的风险来源多样,业务更替、系统迭代、人员流动等都有可能引入不稳定因素。随着微服务化带来的系统规模扩大和迭代效率提升,这一现象更为突出,百度内部 2021 年至 2022 年间有感 case 统计来看,存在「基础能力退化」和「能力缺失」现象的 case 占比增长了 153%。比如:

  • (感知能力缺失)已经给这些服务统一加上了标准化告警,但是不清楚为什么没有覆盖到本次的问题服务。
  • (隔离能力退化)服务所需的机房资源短期供给不足,所以临时用了别的机房资源导致了本次风险扩散。
  • (感知能力退化)服务做了一次日志结构升级,非预期导致之前的监控采集不到数据,所以没发现问题。

在内部复盘会议上,经常会出现上述类似的能力退化和缺失问题。同样,观察近 3年国内外规模性的故障案例亦是如此:

  • 2022、2023 年友商 C 端业务多地域多服务规模性问题,暴露出了隔离不足、拦截能力缺失、多服务耦合影响等问题。
  • 2024 年 CrowdStrike 的安全更新发布导致微软 Windows PC 全球范围大规模崩溃问题,也暴露出了验证能力缺失、分级发布能力退化等现象。

从上述内外部的 case 分析中不难发现,「能力退化」和「能力缺失」的问题一定会往复出现,如果没有及时识别、治理这些偶现的风险,则一定会最终相互作用引发规模性故障。

如今,业务、系统、技术的发展在继续加速,规模也在继续扩大。传统的人工筛查以及被动的质量保障方式(如 on call 模式),面对潜在风险问题时仍具有滞后性。我们需要进一步探索转被动为主动的新保障路径:发现退化、挖掘风险,建设长期可维护的质量保障方式。

从另一个角度来看,随着服务云原生化程度不断提高(基建、底层平台、技术栈的逐步统一),服务以及配套的基础能力的「同治性」也在不断提升,具备了数字化转型的基础。同时,近 2 年 AI 大模型的飞速发展也给智能化保障方式带来了新的思路,依托大模型构建可迭代的知识网络体系,让 AI 进一步辅助挖掘未知风险和指导能力建设,从而实现数字化向数智化的进化。

2.    百度 SRE 数智免疫系统的建设成果

线上系统可能的风险来源多种多样(如图 1),结合系统架构,我们从多维度建设了不同的保障能力(如图 2)。一方面我们需要持续保障已建设能力的有效性,另一方面也需要持续去挖掘潜在的风险问题(如能力缺失等)。

图片

图 1 风险来源视图

图片

图 2 能力保障分类图

因此,数智免疫系统期望结合数字化 + 智能化的方式,实现对已建设能力有效性识别,和对潜在风险的主动挖掘,以此持续保障线上的稳定性能力。在落地实践中,我们制定了 3 个推进阶段:

  • 推进数字化转型:期望刻画质量能力数字化描述,为后续可基于数字化数据进行识别、修复打下基础。(易识别)
  • 落地风险的识别:通过底层统一数仓和可编排的规则库,基于工程规则的方式,提供统一的识别、治理能力。(易治理)
  • 探索智能化路径:结合 AI 大模型和 RAG 能力,构建运维泛化知识体系。依托 AI 大模型 + RAG 代替工程规则进行风险挖掘,长期解决工程规则的滞后性和高维护成本问题。(易维护)

2023 年,我们重点推进第一阶段数字化转型的实践落地,以数字化的方式刻画了传统的质量保障能力。

2024 年,我们重点投入在基于工程规则的风险挖掘能力和产品化生态建设,通过引入统一数仓和可编排规则库的方式,不仅提供了开箱即用的基础通用策略,也同时支撑了用户的特性需求和拓展需求,降低了建设成本。

同时在 AI 潮流下,试点了基于 AI 大模型 + RAG 的风险挖掘方式,并在模块级容量保障方向上进行了落地。

图片

图 3 百度数智免疫系统登录界面

截止到当前:

  • 数字化数据已覆盖百度核心产品的监控告警、分级发布、容量感知、架构隔离和预案能力等 5 大方向,历史基础质量能力退化类 case 覆盖度 > 85%
  • 业务覆盖上支撑了各项关键业务,累计接入服务 20,000+
  • 通用质量规则覆盖厂内主流的监控平台、PaaS 平台、变更发布平台,天级识别 40,000+ 能力项;
  • 2023 ~ 2024 年在接入业务线累计识别和治理风险 5,000+ 项,对比 2021 ~2022 年,能力退化类 case 占比收敛了约 40%,监控感知、分级发布和架构隔离的质量能力风险从 10.2% 收敛到 3.2%。

3.    百度 SRE 数智免疫系统演进和实践

3.1.    阶段一:数字化转型,用数据刻画关键的能力场景

基于上文图 2 中的能力保障分类,并结合业界和百度内部业务的历史故障、系统风险、技术栈选型,我们优先选择了推进如下几类能力的数字化转型:预防能力(分级发布、架构隔离、容量感知)、发现能力(监控告警)、止损能力(操作预案)。

图片

图 4 数字化刻画举例

对能力进行数字化刻画,需要结合能力的生效方式、能力的使用场景、稳定性保障要求等多方面因素来实现数据的抽取,如:

监控告警:其数字化刻画的重点在识别告警的有效性和告警覆盖的完整性。

  • 告警有效性:主要刻画告警的数据源状态、告警的接收人触达通路、告警的屏蔽状态等;
  • 告警覆盖度:主要刻画告警的分类(包括人工规则分类和自动识别分类)。

通过对告警有效性和完备性两个方向的数字化刻画结果,进而可以识别出业务变更过程中的潜在风险风险,如:数据源无数据问题、数据断流问题、告警人为长时间屏蔽等。

分级发布:其数字化刻画的重点在描述常见的程序变更和数据变更要求。我们将分级发布的能力要求抽象为两类:一类是分级发布的流程要求,另一类是分级发布的对象要求。

  • 流程要求:主要刻画发布和部署阶段,如:发布顺序,发布范围,阶段间的间隔和检查等;
  • 对象要求:主要刻画发布对象状态,如:发布对象的完整性,发布对象的小流量阶段比例配置等。

通过对发布阶段和发布对象的数字刻画,进而可以识别出业务变更过程中的潜在风险问题,如:灰度阶段验证不充分,灰度比例过大,版本升级不完整等问题。

架构隔离:其数字化刻画的重点在描述服务间的连接关系和连接范围;

  • 连接关系:主要刻画实际网络连接关系,通过 eBPF 数据和网络链路配置进行挖掘;
  • 连接范围:主要刻画服务部署和网络连接关系的聚合情况,通过服务描述数据,确认服务间实际的逻辑域连接关系。

通过对连接关系和连接范围的数字刻画,可自动识别业务的架构拓扑,识别业务逻辑域中存在跨域访问的问题。辅助业务进行容量评估、评估风险隔离范围、强化单域内止损能力;

除上述场景外,我们也分别对容量方向中的应用级和系统级容量、止损预案的有效执行周期和执行结果等方向进行了数字化能力刻画。不同方向的数字化刻画结果,即可作为后续识别风险场景的有力数据源。

3.2.    阶段二:基于工程规则的风险识别

基于阶段一中对各项能力场景的数字化刻画结果,我们便可进一步使用一系列工程规则,通过组合使用数字化的刻画数据,来达成风险识别的目标。下面介绍几个实践的案例。

3.2.1.    案例一:识别告警失效问题

告警是问题感知的第一入口,告警失效会导致故障的影响加剧。实际运维中,影响告警状态的因素也较多,如配置变动、数据变动、人员变动等都可能导致告警的效果和触达不符合预期。

图片

图 5 告警有效和告警失效对比

图片

3.2.2.    案例二:识别变更发布中的灰度范围是否过大(爆炸半径是否可控)

灰度发布是线上变更中的常用方式之一,通过控制灰度的比例和范围,进而控制变更可能带来故障影响范围,限制爆炸半径。如果灰度比例过大,可能造成故障扩散,影响故障处置的效率。数字免疫通过对关键阶段进行数字化刻画完成风险识别,保障灰度发布有效且爆炸半径不扩散。

图片

图 6 灰度发布和爆炸半径控制

图片

3.2.3.    案例三:识别服务的架构隔离能力

分布式集群和架构隔离部署,是有效控制爆炸半径的常用方式之一。服务集群通过多地域部署,并在不同地域之间完全隔离(提供完整功能),可有效应对未知的故障影响,如机房断电、光纤断连等情况。如果不同域的服务存在互相访问的情况,则可能在故障场景下造成故障扩散,影响故障处置的效率。

图片

图 7 隔离失效导致故障扩散

图片

3.3.    阶段三:融合 AI 大模型的风险挖掘

随着企业数字化转型的深入,得益于数据的标准化,我们短期通过快速建设工程规则方式,针对大部分已知场景的风险进行了快速的覆盖识别,并低成本推广到了多业务线。然而,随着规则的规模扩大,我们逐渐发现 2 个问题:

  • 维护成本逐渐升高:随着工程规则的数量不断增加,梳理冗余规则和维护规则效果的成本也随之上涨;
  • 风险识别的局限性:工程规则主要面向有限的场景,以组合工程规则的方式来覆盖稳定性能力,会因缺乏一些全局视角的分析而出现盲区。

当前,随着 AI 的兴起,AI 大模型所具备的强大的泛化知识理解和推理能力,可以用于持续维护和管理运维知识和风险场景知识。借助 AI 大模型 + GraphRAG 的组合,我们可以将工程规则的实现转向由 AI 模型托管生成,并结合 GraphRAG 图检索和大语言模型的泛化总结能力进行场景化的风险分析。

图片

图 8  「工程规则 + 知识手段」体系协同模式

在融合 AI 能力的风险挖掘实践中,我们初期的重点工作在「知识整理」和「知识建图」2 个阶段:

知识整理:构建特定场景知识实体。构建的知识体系应当具备如下通用要求:

  • 实体化:知识可以被划分为独立的实体,每个实体包含特定的概念和原理,便于分类学习和掌握;
  • 层次性:知识具有不同的层次,从基础概念到高级理论,从通用知识到专家知识,学习者可以逐步深入;
  • 连贯性:知识之间可相互关联,形成连贯的知识网络,有助于记忆和应用。

因此,结合运维领域的知识特点以及云原生时代下的实体架构分层,我们引入了如下几个维度划分来构建知识结构,以云计算服务模型中不同层级的实体为对象,实现上述 3 个要求。

图片

图 9 知识体系层级图

知识建图:构建泛化的知识网络。「泛化知识网络」的构建需要具备如下要求:

  • 动态更新能力:泛化知识网络需要具备实时构建和动态更新能力来保证其应用结果的准确度;
  • 可交互性:泛化知识网络需要具备便捷的交互能力和输出结果可理解;
  • 可挖掘性:泛化知识网络不能只具备基础的知识检索能力,还需要具备泛化的知识综合应用能力。

因此,在构建知识网络的方案上,选择了 AI 大模型 +  GraphRAG 的组合形式:

  • 引入 AI 大模型,解决输入输出内容的文本语义化转换,辅助知识图谱的构建和完善;
  • 引入 GraphRAG 图构建的模式,理解结构化知识并构建关系型知识网络,提供动态更新、泛化能力强的知识挖掘的能力。

图片

图 10 知识构建和应用

图片

图 11 某业务的知识模块举例

4.    SRE 数智免疫系统的长期发展

数智免疫系统,本质上是对服务质量数据的一个规整聚类和理解,通过循环的识别、治理方式,保障业务质量的长期稳定。因此,数智免疫系统的长期发展:

  • 一方面,需要引入更丰富的质量关联数据,如:业务的故障数据、故障处置经验、人员能力建设等维度,通过不断累计的知识沉淀,来丰富免疫系统的风险识别和自愈能力,提升系统的可信度;
  • 另一方面,基于丰富的质量关联数据,可以在上层借助当前大模型的数据分析和整合能力,创建「智能医生」。基于免疫系统识别到的风险状态以及数字化评价体系给出的评价结果,向业务展示关键的风险问题和系统状态,并给出具备可行性的建设方案和历史建设经验。

数智免疫系统的应用只是一个开始,当前已建设的「关键质量能力」项,也只是质量能力长期保障的一部分。知识、信息等实时或非实时的数据,都需要随着业务的发展而更新,如此基于免疫能力的保障体系才可持续。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2340875.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGIS及其组件抛出 -- “Sorry, this application cannot run under a Virtual Machine.“

产生背景: 使用的是“破解版本”或“被套壳过”的非官方 ArcGIS 版本 破解版本作者为了防止: 被研究破解方式 被自动化抓包/提权/逆向 被企业环境中部署多机使用 通常会加入**“虚拟化环境检测阻断运行”机制** 原因解释: 说明你当前运…

进阶篇 第 5 篇:现代预测方法 - Prophet 与机器学习特征工程

进阶篇 第 5 篇:现代预测方法 - Prophet 与机器学习特征工程 (图片来源: ThisIsEngineering RAEng on Pexels) 在前几篇中,我们深入研究了经典的时间序列统计模型,如 ETS 和强大的 SARIMA 家族。它们在理论上成熟且应用广泛,但有…

影刀填写输入框(web) 时出错: Can not convert Array to String

环境: 影刀5.26.24 Win10专业版 问题描述: [错误来源]行12: 填写输入框(web) 执行 填写输入框(web) 时出错: Can not convert Array to String. 解决方案: 1. 检查变量内容 在填写输入框之前,打印BT和NR变量的值&#xff…

词语关系图谱模型

参数配置说明 sentences, # 分词后的语料(列表嵌套列表) vector_size100, # 每个词的向量维度 window5, # 词与上下文之间的最大距离(滑动窗口大小) min_count5, # 忽略出现次数小于5的…

HTTP的请求消息Request和响应消息Response

一:介绍 (1)定义 service方法里的两个参数 (2)过程 Request:获取请求数据 浏览器发送http请求数据(字符串),字符串被tomcat解析,解析后tomcat会将请求数据放入request对象 Response:…

C++异步操作 - future async package_task promise

异步 异步编程是一种程序设计范式,​​允许任务在等待耗时操作(如I/O、网络请求)时暂停执行,转而处理其他任务,待操作完成后自动恢复​​。其核心目标是​​避免阻塞主线程​​,提升程序的并发性和响应速度…

数据结构——栈以及相应的操作

栈(Stack) 在维基百科中是这样定义的: 堆栈(stack) 又称为栈或堆叠,是计算机科学中的一种抽象资料类型,只允许在有序的线性资料集合中的一端(称为堆栈顶端,top)进行加入数据(push)和…

如何应对政策变化导致的项目风险

应对政策变化导致的项目风险,核心在于:加强政策研判机制、建立动态应对流程、构建合规应急预案、强化跨部门联动、提升项目柔性与调整能力。其中,加强政策研判机制 是所有防范工作中的“前哨哨兵”,可以让项目团队在政策风向转变之…

ASP.Net Web Api如何更改URL

1.找到appsettings.json 修改如下: 主要为urls的修改填本机私有地址即可 {"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": &q…

【HTTPS协议原理】数据加密、如何防止中间人攻击、证书和签名、HTTPS完整工作流程

⭐️个人主页:小羊 ⭐️所属专栏:Linux网络 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 数据加密常见的加密方式数据摘要方案一:仅使用对称加密方案二:仅使用非对称加密方案三:双…

Java中链表的深入了解及实现

一、链表 1.链表的概念 1.1链表是⼀种物理存储结构上⾮连续存储结构,数据元素的逻辑顺序是通过链表中的引⽤链接次序实现的 实际中链表的结构⾮常多样,以下情况组合起来就有8种链表结构: 2.链表的实现 1.⽆头单向⾮循环链表实现 链表中的…

植物大战僵尸杂交版v3.6最新版本(附下载链接)

B站游戏作者潜艇伟伟迷于4月19日更新了植物大战僵尸杂交版3.6版本!!!,有b站账户的记得要给作者三连关注一下呀! 不多废话下载链接放上: 夸克网盘链接::https://pan.quark.cn/s/1af9b…

【源码】【Java并发】【ThreadLocal】适合中学者体质的ThreadLocal源码阅读

👋hi,我不是一名外包公司的员工,也不会偷吃茶水间的零食,我的梦想是能写高端CRUD 🔥 2025本人正在沉淀中… 博客更新速度 👍 欢迎点赞、收藏、关注,跟上我的更新节奏 📚欢迎订阅专栏…

背包问题模板

文章目录 01背包题意思路代码优化 完全背包题意思路代码优化 多重背包题意思路代码优化 分组背包题意思路代码 01背包 特点:每件物品最多只能用一次 01背包问题 题意 给出每件物品的体积v,价值w,求解能装入背包的的物品的最大价值,并且每件物品只能选一…

Sentinel源码—8.限流算法和设计模式总结二

大纲 1.关于限流的概述 2.高并发下的四大限流算法原理及实现 3.Sentinel使用的设计模式总结 3.Sentinel使用的设计模式总结 (1)责任链模式 (2)监听器模式 (3)适配器模式 (4)模版方法模式 (5)策略模式 (6)观察者模式 (1)责任链模式 一.责任链接口ProcessorSlot 二.责…

VulnHub-DarkHole_1靶机渗透教程

VulnHub-DarkHole_1靶机渗透教程 1.靶机部署 [Onepanda] Mik1ysomething 靶机下载:https://download.vulnhub.com/darkhole/DarkHole.zip 直接使用VMware打开就行 导入成功,打开虚拟机,到此虚拟机部署完成! 注意&#xff1a…

边缘计算全透视:架构、应用与未来图景

边缘计算全透视:架构、应用与未来图景 一、产生背景二、本质三、特点(一)位置靠近数据源(二)分布式架构(三)实时性要求高 四、关键技术(一)硬件技术(二&#…

MQ底层原理

RabbitMQ 概述 RabbitMQ 是⼀个开源的⾼性能、可扩展、消息中间件(Message Broker),实现了 Advanced Message Queuing Protocol(AMQP)协议,可以帮助不同应⽤程序之间进⾏通信和数据交换。RabbitMQ 是由 E…

本地部署DeepSeek-R1模型接入PyCharm

以下是DeepSeek-R1本地部署及接入PyCharm的详细步骤指南,整合了视频内容及官方文档核心要点: 一、本地部署DeepSeek-R1模型 1. 安装Ollama框架 ​下载安装包 访问Ollama官网(https://ollama.com/download)Windows用户选择.exe文件,macOS用户选择.dmg包。 ​安装验证 双击…

Java基于SpringBoot的企业车辆管理系统,附源码+文档说明

博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…