DevOps 团队和站点可靠性工程师 (SRE) 每天都在处理代码。这样做教会他们审视自己的世界,进行敏锐的观察,并得出意想不到的联系。毕竟,虽然软件开发在本质上具有高度的逻辑性和数学性,但至少在某种程度上是一种艺术形式。

对这种说法不服气?考虑一下历史上最杰出的架构壮举与现代软件工程之间的相似之处。这是一个恰当的比喻:就像软件工程一样,建筑采用复杂的数学计算来创造美丽的东西。在这两个学科中,轻微的误判都会导致严重的后果。令人着迷的是,许多著名的架构错误类似于我们在代码中发现的问题。

请记住,灵感无处不在——只要您知道去哪里寻找。以下是软件工程师可以从几个世纪以来的架构顿悟中学到的一些经验教训,尤其是关于自我修复系统的未来。

第 1 课:边缘案例总是会利用系统漏洞 花旗银行大厦——现称为列克星敦 601 号——于 1977 年在纽约市完工,当时它是世界上第七高的建筑。这座摩天大楼的最先进设计包括三个 100 多英尺的高跷。完成时真是一个奇迹。然而,一名本科生很快发现了一些不和谐的东西:强风 可能危及建筑物的完整性. 具体来说,如果强大的四分之一风吹到花旗银行大厦的角落,该结构就会倒塌——一个名副其实的 边缘案例。

该塔每年有 16 分之一的几率倒塌。这些赔率可能会吸引坐在赌桌上的人,但对于花旗银行大厦背后的建筑师和结构工程师来说,前景不容乐观。值得庆幸的是,技术人员能够加固建筑物的螺栓接头。灾难得以避免。

结构工程师知道 Citicorp Tower 最终将面临足以破坏其轴承的强风。同样,经验丰富的软件工程师知道,强大的应用程序性能监控 (APM) 和事件管理不足以保护系统免受不可避免的边缘情况的影响。那是因为没有静态系统 机器学习(机器学习) 能力无法处理意外和计划外的新情况,例如驻扎风。当仅依赖监控工具时,人工管理员必须破译错误并升级事件管理流程。

为了减少平均恢复时间 (MTTR)/平均检测时间 (MTTD),DevOps 团队必须接受边缘案例的高概率,并努力先发制人地部署自学习解决方案。这一教训意义重大,因为远见在工程中至关重要。

第 2 课:“边飞边造飞机”创造了一个永无止境的循环 悲惨的事件带来了一些 航空史上最重要的一课. 1954 年,当一架飞机在飞行途中遭受巨大减压并坠毁时,工程师们确定方形乘客窗户是一个不必要的压力点。今后, 飞机配备了圆形窗户. 船上火灾导致新的座位安排优先考虑疏散的便利性。这些变化挽救了无数生命。

在许多行业(包括航空业)中,没有办法对产品进行详尽的压力测试。如前所述,边缘情况是不可避免的。这里最大的收获是软件工程师在展示自己时必须注意系统的漏洞。从那里,他们必须方便地解决这些问题。这样做需要两件事:(1) 识别和跟踪正确的关键绩效指标 (KPI) 和 (2) 投入时间和资源根据相关指标改进系统。

工程团队平均投资 16 到 40 个监控工具,但他们经常错过衡量成功的指标。不到 15% 的团队跟踪 MTTD,因此他们错过了 66% 的事件生命周期。四分之一的团队报告缺少他们的服务水平协议 (SLA) 尽管对可用性跟踪进行了大量投资。这告诉我们,数据收集需要彻底、系统的分析来削减它——单点解决方案已经不够了。

软件工程师、DevOps 团队和 SRE 必须优先考虑从海量可用性信息中提取价值的流程和工具。他们必须从航空工程师的书中学习并快速做出关键决策,而不是简单地观察一个严重错误。这样做的秘诀在于人工智能。

第 3 课:AI 是自愈系统的基本组成部分 一个完全自主、功能完善、自我修复的系统是任何软件工程师的理想选择。自我修补的系统有利于提高客户满意度,因为它们消除了面向消费者的代价高昂的停机时间。此外,它们对 IT 服务管理 (ITSM) 功能非常有益,因为它们显着减少了对繁琐的票证管理的需求。构建这样一个系统需要多个组件,其中许多组件目前还遥不可及。但我们比一些人可能意识到的更接近自我修复的现实。

人工智能缺乏广泛采用仍然是当今自我修复系统面临的最大障碍。尽管许多企业采用了基本的 AI 或基于 ML 的工具,但这些工具的完整性值得怀疑。也就是说,很多工程师处理 用于 IT 运营的人工智能 (AIOps) 技术遵循基于规则的自动化逻辑而不是自主 AI 算法。这种区别可能看起来很小,但实际上,这是数小时的生产力损失与数百万可能的损失之间的区别。

问题是,基于规则的 AIOps 工具分析不同点解决方案之间的交互,并可能识别常见的数据错误。但是基于自动化的系统无法处理随着时间的推移出现的全新错误,也无法预测数据中的新故障。这是因为编写这些功能的人类管理员要求系统遵循“ 如果这样,那么” 逻辑模式。真正高效的 AIOps 工具通过在人类技术人员甚至意识到它们的存在之前对新的和有问题的模式进行分类来减少所有四个经典遥测点(从检测到解决)出现的错误。

当我们等待 即将到来的第三次人工智能浪潮,这个版本的 AIOps 是我们拥有的最接近自我修复系统的版本。跟踪当前的 AIOps 应用程序如何到 AI 的未来将很有趣,这将包括完全实现的自动化和独立思考的可能性。也许届时结构工程师也会从基于人工智能的自我修复系统中获益。

更多内容请关注 OushuDB 小课堂