AI在SRE的未来:防患于未然,而非亡羊补牢

5 阅读6分钟

AI正推动SRE从故障修复转向预防。通过学习历史数据、理解依赖关系,AI可在故障发生前预测并加固系统,实现“按设计实现可靠性”,而非被动救火。

译自:The Future of AI in SRE: Preventing Failures, Not Fixing Them

作者:Asaf Savich

多年来,站点可靠性工程(SRE)一直围绕一个使命展开:在代码、配置和基础设施等一切都在变化的情况下,保持系统健康。但随着复杂性的增长,即使是最有经验的SRE工程师也会遇到瓶颈。

日志倍增,依赖关系错综复杂,问题层出不穷。可靠性工程的未来不再是更快地响应;而是在故障发生之前进行预防。

SRE经历了三个不同的发展阶段。第一阶段是警报,监控工具检测到症状但提供的上下文很少。第二阶段引入了AI辅助分类,模型关联日志、指标和追踪以确定可能的故障点并减少警报疲劳。第三阶段,安全自动修复,在检测和解决之间形成了闭环。AI系统可以在严格的防护措施下重启Pod、回滚错误配置或应用热补丁。

每一步都减少了平均恢复时间,但每一步仍有一个局限性:必须先有故障发生。

下一个前沿是可靠性工程的预防性方法,即AI从过去中学习,在压力来临之前加固基础设施。

利用过去保护未来

预防性可靠性工程基于一个原则:每一次事故都包含可以预防下一次事故的信号。通过捕获和结构化这些信号,AI系统可以学习不稳定性模式,并利用它们来加固基础设施,以应对未来的停机、性能下降和其他问题。

这从历史数据开始。大多数组织已经拥有多年的事后分析报告、警报历史和运行手册。AI可以将关于症状、原因、影响和解决方案的“部落知识”转化为可操作的智能。

例如,生成式AI无需预先训练所有故障场景就能发现问题。它可以在日志、指标和事件中识别重复模式,例如“节点压力后跟Pod驱逐”。当这种模式再次出现时,它可以发出早期预警或突出显示可能再次导致相同问题的配置。

通过摄取更多组织的过往事件、配置和操作数据,AI预测高风险发布或标记不安全部署的能力将变得越来越精确和上下文感知。

容量预测是另一个关键用例。通过建模历史资源利用率,AI可以动态调整计算规模,预测饱和点,并优化性能和成本。与静态阈值不同,预测性扩展能够预测需求并在电量不足(brownouts)发生之前进行缓解。

最后,理解依赖关系对于看到全局至关重要。大多数停机不是从发生故障的服务开始的,而是从它所依赖的另一个服务开始的。通过映射Kubernetes资源、服务网格和CI/CD管道之间的关系,AI可以构建一个实时依赖图。在这种背景下,它可以发现单点故障,估计问题的影响范围,并建议如何在问题蔓延之前将其隔离。

为预防性AI SRE奠定基础

AI无法预防它不理解的事物。在组织能够依赖自主预防之前,他们必须建立正确的数据和治理支柱。平台和基础设施负责人可以从三项关键投资开始:

1. 结构化的事件知识

非结构化的事件数据是学习系统面临的最大障碍。标准化事件记录中的元数据:服务、症状、根本原因、影响和解决方案。将这些记录与可观测性(observability)工件、日志、指标和追踪关联起来,以便AI可以跨时间和跨服务关联模式。

结构化的事件数据集将成为AI可靠性推理的训练语料库。随着时间的推移,它使系统能够从关联(“这些事件经常一起发生”)发展到因果关系(“这种配置在负载下始终导致崩溃”)。

2. 集成拓扑和依赖映射

AI驱动的预防依赖于全栈上下文。在分布式环境中,根本原因通常隐藏在症状出现的几层之下。通过集成来自Kubernetes、网络层和外部服务的拓扑数据,AI可以将依赖关系建模为一个活生生的图。

这个拓扑模型允许AI推断上游故障如何在系统中传播。外部API的延迟飙升可能会降低依赖微服务的性能,触发重试并使工作节点饱和。通过依赖感知,AI可以在部署前模拟此类级联,主动建议架构缓解措施或资源调整。

3. AI防护措施和治理

向预防性自动化的过渡需要信任。工程师必须清楚地知道AI观察到什么、建议什么以及采取什么行动。定义严格的防护措施:哪些操作是只读的,哪些需要批准,哪些是完全自动化的。

可审计性增强了信心。每一个AI驱动的决策都应该引用支持它的证据、日志、差异和指标。透明度将AI从一个黑箱转变为一个可验证的协作者。随着可靠性模型成熟并赢得信任,团队可以安全地增加自主性,从副驾驶(co-pilot)操作发展到自动驾驶(auto-pilot)操作。

从被动救火到可靠性按设计实现

SRE中的预防性AI不仅仅是技术演进,更是一种思维转变。传统的SRE强调系统崩溃时快速恢复,但可靠性最终是关于构建一开始就不会失败的系统,并且能够在不增加事件、人员或成本的情况下进行扩展。预防性可靠性工程鼓励团队将每一个异常或“险情”视为有价值的输入,将其反馈给AI系统,以提高预见性和弹性。

目标不是取代人类判断,而是放大它,让SRE工程师能够专注于架构弹性、混沌测试和持续优化,而不是重复的分类工作。

AI已经证明它可以加速检测和修复。下一个阶段是主动防御:从整个可靠性生命周期中学习,在弱点破裂之前加固它们。这种转变需要纪律、清晰的数据、可重复的过程以及使自动化值得信赖的防护措施。

但回报是变革性的。平台工程正在走向一种按设计实现可靠性的方法,它不仅仅是对故障做出反应,而是预防故障。在这种方法中,AI在部署前标记出有风险的配置,解释其问题所在,引用类似的过去事件,并提出更安全的发布方案。