软件是从 20 世纪开始吞噬世界的,而到了 21 世纪的今天,它把血盆大口转向了人类。
无论是金融系统、政府软件还是企业对企业应用程序,有一点是不变的:这些系统对于组织收益来说是至关重要的,甚至在某些情况下对人类安全也至关重要。在面对来自技术层面、自然和人造的逆境时,它们必须保持高可用。于是,站点可靠性工程师(或 SRE)应运而生。
SRE 模式诞生于 2003 年,当时 Ben Treynor Sloss组建了第一个SRE团队:
从根本上说,当你要求软件工程师设计运维功能时,就是所谓的 SRE……SRE 基本上就是在做一直以来由运维团队完成的工作,只是使用了具备软件专业知识的工程师,并依靠这些工程师天生就倾向和擅长使用自动化来代替人类劳动的能力。
企业从一开始就按照各种不同的方式采用这个模型,但其本质都是一样的。这些工程师为企业的收入和不间断的业务关键型运营提供支持。
招聘和培训 SRE 工程师是一项具有挑战性的工作。在这个基础设施和新技术不断变化的世界里,该如何可持续地扩展这些团队来确保团队的福祉和运营的连续性?答案是 AIOps。
AIOps(即人工智能 IT 运营)是一系列使用人工智能、机器学习和大数据分析来提高软件系统可靠性的技术和实践。AIOps 能够降低认知负担、加强跨职能协作、减少停机时间、提高客户满意度和降低成本开销。
降低认知负担
待命工程师的精神压力来自两个方面:警报(信号噪音)和信息获取。
对于曾经使用过传呼机的人来说(我们现在已经不再使用传呼机了,不是吗),当说到精神压力时,噪音与信号问题就会立即浮现在脑海中。这里存在一个有效的警报与敏感或嘈杂过头的警报之间的平衡问题。这个问题会导致一种叫做噪音疲劳的症状。
AIOps 的一个关键好处是降低认知压力。AIOps 系统可以自动识别和诊断问题,甚至可以在潜在问题发生之前做出预测。这可以降低 SRE 团队的认知负担,让他们能够专注于更多与业务相关的工作,而不是把时间花在故障排除上。
此外,AIOps 系统可以协助处理与事件分类相关的“前置问题”。监控系统收集了数百万个数据点,而与警报相关联的信息的质量取决于人。在 SRE 开始进行系统分类时通常会面临一个问题:
“我应该从哪里开始了解潜在的影响半径?”
AIOps 系统可以分析系统状态和遥测数据中的潜在异常,提供需要关注的潜在领域和内部文档,以此来协助进行这种初始分类。
SRE 必须开始考虑如何在其组织中采用 AIOps。这是 SRE 需要学习的另一种技术,它可以在降低整体认知负担方面带来指数级的积极效果。
加强跨团队职能
AIOps 可以显著改善业务中的跨职能协作。在传统的 IT 运营模式中,不同的团队可能在相互孤立,导致在解决问题时出现沟通不足、误解和延迟。AIOps 可以帮助弥合这些差距,并促进不同团队之间的协作。
AIOps 改善跨职能协作的一种方式是为各种 IT 流程提供实时的洞见和分析能力。不同的团队可以访问相同的信息,有助于改善沟通和减少误解。例如,AIOps 提供的数据可以帮助 IT 团队和业务利益相关者识别潜在问题,并主动采取措施防止问题发生,从而获得更好的结果和更高的客户满意度。
AIOps 改善跨职能协作的另一种方式时自动化各种 IT 流程。通过自动化日常任务,AIOps 可以为 IT 团队腾出时间来专注于战略计划,例如改进客户体验和提出创新的解决方案。这可以改善 IT 团队和业务利益相关者之间的协作,让他们能够共同确定可以通过实现自动化来提高效率和降低成本的领域。
总的来说,AIOps 可以通过提供实时洞察和分析、自动化日常任务以及支持不同团队之间的协作来改善跨职能能力。AIOps 通过打破孤岛和改善 IT 与业务利益相关者之间的沟通来帮助企业交付更可靠、更高效的 IT 服务,从而获得更好的结果和更高的客户满意度。
减少停机时间
AIOps 的另一个关键好处是减少停机时间。诊断系统回归问题或故障的本质就是在受限的环境中计算系统的性能。成千上万的数据输入需要人工干预,从而设计出额外的系统,根据给定的一组指标向工程师发出警报。当工程师必须在警报被触发后读取和解释呈现给他们的数据时,这个过程将进一步扩展。
一些指标,如检测时间(Time-to-Detection)和解决时间(Time-to-Resolution),是对工程团队在接收、解释、分类和解决此类事件方面的有效性的综合评估。所有这些都可以通过实现 AIOps 系统来获得极大的改进。在关键领域,可能有必要通过人工干预来决定采取哪些行动。AIOps 系统可以智能地分析它获得的数据,同时在不需要人工干预的情况下自动修复不太重要的问题,只对严重的问题发出警报。
提升客户满意度
从客户的角度来看,AIOps 可以对他们所获得的服务的满意度产生重大影响。例如,AIOps 可以帮助企业在问题给客户带来影响之前进行主动识别和解决。这意味着客户不太可能会遭遇服务中断或停机,从而提高服务的可用性和可靠性。此外,AIOps 可以帮助企业提高处理事故的速度和准确性,从而最小化事故对客户的影响。
AIOps 的另一个好处是帮助企业更快地识别和解决问题,从而缩短解决问题的时间。这对于遇到关键问题或停机的客户来说尤其重要。通过更快地解决这些问题,企业可以最大限度地减少对客户的影响,降低客户流失的风险。
总的来说,AIOps 可以帮助企业交付更可靠和可用的 IT 服务,更快地处理事故,具有显著提高客户满意度的潜力。作为一名高级软件工程师,我相信 AIOps 是一种强大的 IT 运营方法,可以帮助企业在当今快节奏和竞争激烈的市场中保持领先地位。
降低成本和开销
AIOps 可以帮助自动化和优化各种 IT 流程,包括监控、事故关联和事故处理。AIOps 通过自动化这些过程来减少对人工干预的需求,从而降低了劳动力成本。此外,通过优化这些流程,AIOps 可以帮助公司减少管理 IT 运营所需的时间和资源,从而节约总体成本。
这可以帮助公司减少发生服务中断的次数,从而节约大量成本。停机时间和服务中断对企业来说代价高昂,会导致生产力、收入和客户满意度的损失。AIOps 会在问题给服务带来影响之前将其检测处理并加以解决,降低了发生服务中断和停机的风险,从而为业务节约了成本。
此外,AIOps 可以帮助企业改进其整体 IT 基础设施和应用程序性能。AIOps 通过为企业提供对应用程序和基础设施性能的实时洞察来优化资源使用和提升效率。这样可以减少对额外硬件和软件资源的需求,节约了成本。
如果你在网上快速搜索一下,就会发现美国软件工程师的平均年薪是 9 万到 11 万美元,这大致相当于每小时 47 至 57 美元。想象一下,如果一起事故需要 5 个工程师花 3 个小时来解决,那就相当于每起事故需要花费 705 至 855 美元。如果一个月发生三起事故,每年的成本约为 30780 美元,这还不包括客户收入损失或失去客户信任所带来的无形成本。你可以通过问自己几个问题来粗略估计一起事故给你的公司造成了多大的损失。
公司给工程师发的薪水是多少?
公司一年发生多少起事故?
需要多长时间才能解决这些问题?
公司因事故造成的无形成本是多少?
在做了这个粗略的计算之后,你很快就会明白,即使事故减少 10%,也会为公司节省一笔可观的费用。
如何着手实施 AIOps
事实上,对于任何一个组织来说,采用 AIOps 都是一个漫长的过程。然而,通过坚持不懈的努力和专注,公司可以从中获得如前所述的好处。下面是开始采用 AIOps 时需要注意的一些事项。
制定目标:第一步是确定你希望通过 AIOps 来实现什么,比如减少停机时间、提升事件响应速度或优化资源利用率。
评估当前的 IT 基础设施:在实施 AIOps 之前,你需要了解现有的 IT 基础设施,包括当前使用的工具和技术。这可以帮助你确定 AIOps 可以填补哪些空白,并确保 AIOps 过程与现有系统顺利集成。
选择 AIOps 平台:市场上有许多可用的 AIOps 平台。评估不同的选项,并选择一个与自己的目标和 IT 基础设施相匹配的平台。主要看一下自动故障分析、异常检测和机器学习算法等功能。
识别数据源:AIOps 平台需要大量数据才能有效运行。确定需要收集的数据源,例如日志文件、性能指标和配置数据。
制定数据策略:确定如何收集、存储和管理 AIOps 所需的数据,包括数据保留策略、数据安全措施和数据访问控制。
训练 AIOps 平台:在选择了 AIOps 平台和数据策略之后,你需要训练平台来识别 IT 基础设施中的模式和异常,包括将历史数据输入平台并调整算法以优化性能。
与 IT 运营集成:最后,你需要将 AIOps 过程与 IT 运营集成,包括为事故管理、变更管理和资源配置设置工作流。
结论
总而言之,AIOps 是一系列使用人工智能、机器学习和大数据分析来提高软件系统可靠性的技术和实践。AIOps 能够降低认知负担、增强跨职能协作、减少停机时间、提高客户满意度和降低成本开销。这些好处可以通过自动化事故管理流程、提供对软件系统性能的实时可见性和优化资源分配来实现。
原文链接:
https://www.infoq.com/articles/aiops-reliability-engineering/
评论