AIOps中的四大金刚

article/2025/8/30 7:14:09

640?wx_fmt=gif

作者简介

运小青    百度云资深研发工程师

640?wx_fmt=png

负责百度云智能监控、智能故障自愈方向架构设计与研发,推动AIOps的实践与落地



干货概览

AIOpsArtificial Intelligence for IT Operations ),即智能运维,是将人工智能的能力与运维相结合,通过机器学习的方法来提升运维效率。

在传统的自动化运维体系中,重复性运维工作的人力成本和效率问题得到了有效解决。但在复杂场景下的故障处理、变更管理、容量管理、服务资源过程中,仍需要人来掌控决策的过程,这阻碍了运维效率的进一步提升。而AI方法的引入,使得机器能够代替人来做出决策,从而让真正意义上的实现完全自动化成为了可能。

在AIOps的落地实施过程中,最关键的因素还是,即AIOps的建设者们。

AIOps作为一个全新的技术发展和应用方向,并不是简单地说具备某一种技能或招募一两个大牛就可以完成的,它需要不同角色、多个团队的配合才可以达成。根据近几年来整个业界对AIOps的理解和实践,AIOps参与角色的划分也越来越清晰。在百度4年的AIOps实践中,我们总结得出了如下四种不可或缺的角色:

  • 运维工程师

  • 运维研发工程师

  • 平台研发工程师

  • 运维AI工程师

可以看到,除了运维AI工程师外,其他角色并不是AIOps产生之后才出现的,他们在传统运维中也发挥了重要作用。我们今天主要想和大家探讨一下,在AIOps时代,他们的职责究竟发生了哪些变化。为了方便大家理解,我们会基于百度AIOps的实践案例,来进行具体说明。

单机房故障自愈场景

单机房故障自愈是一个典型的AIOps落地项目。该方案主要解决的问题场景如下:某个业务由于网络、设备、变更、程序Bug、容量等原因造成故障,但故障范围仅局限在单个机房或单个Region内部。那么,我们可以基于流量调度等手段,将访问流量调度到非故障机房或Region,实现该类型故障的自动止损。

整个故障自愈过程分为如下几个阶段:

640?wx_fmt=png

在这个过程中,需要AIOps四种角色分工明确、紧密配合,来完成整个AIOps解决方案的落地实现。在单机房故障自愈场景下,四种角色的关系如下图所示:

640?wx_fmt=png

运维工程师

在单机房故障自愈项目中,运维工程师基于日常运维工作中所积累的场景、问题和经验,确定以单机房故障止损作为主要需求和突破口,通过定义单机房故障止损的问题域解决思路以及风险点,明确AI可以发力的领域。运维工程师的职责主要包括如下几个方面:

640?wx_fmt=png

在完成问题域的定义后,运维工程师需要跟踪整个单机房故障自愈解决方案的落地,包括在策略设计前期提供数据标注支持,在中期进行效果的验收,在后期将单机房故障自愈方案实际部署运行到生产环境。

AIOps时代的职责和技能变化

运维工程师承担线上服务质量的责任,是服务质量的关键保证。在工作过程中,会与研发、产品、运营等各类角色、不同团队进行深度的沟通和协作。

传统运维中,运维工程师的主要职责分为三个方面:质量、成本、效率

640?wx_fmt=png

主要包含如下工作内容:

640?wx_fmt=png

在AIOps落地实施中,运维工程师是处于中心的角色,也赋予了新的职责,他们是AIOps具体实施的需求提出者成果验收者。具体职责包括:

640?wx_fmt=png

在AIOps时代,运维工程师一方面需要熟悉运维领域的知识,了解运维的难题和解决思路;另一方面需要了解人工智能和机器学习的思路,能够理解哪些场景问题适合用机器学习方法解决,需要提供怎样的样本和数据,即成为AI在运维领域落地实施的解决方案专家

运维AI工程师

在单机房故障自愈场景中,运维AI工程师将机器学习的算法与实际的故障处理业务场景相结合,针对单机房故障场景的风险点,进行策略研发与实验工作。如下图所示:

640?wx_fmt=png

运维AI工程师分别设计了如下算法策略来满足整个复杂故障场景的自动决策:

  • 异常检测算法:解决故障发现时指标异常判断问题,基于AI方法实现较高的准确率和召回率,作为整个故障自愈的数据基础

  • 策略编排算法:基于当前线上的实际流量和服务状态,设计损益计算模型,判断基于何种方式的操作组合或步骤,能够使整个自动止损带来收益最大,风险最小。

  • 流量调度算法:基于线上服务容量与实时流量情况,进行精确流量比例计算,防御容量不足或不准风险,并实现流量调度收益最大化。

在完成策略设计与研发后,需要根据历史数据进行Case回溯,并进行仿真Case模拟,来验证策略效果,并进行逐步迭代调优,以达到线上运行的准确率和召回率要求。

AIOps时代的职责和技能变化

运维AI工程师是将AI引入运维的核心角色。他们针对运维数据、运维经验进行理解和梳理,使用机器学习的方法将海量运维数据进行汇总、归纳,使得数据中的价值显现出来。

运维AI工程师首先需要具备AI工程师的技能,需要对数学及机器学习方法有足够的掌握程度,并能应用实践。如下图所示AI工程师技能表:

640?wx_fmt=png

如单机房故障自愈场景中的介绍,运维AI工程师需要具备机器学习知识并在运维领域落地的能力。运维AI工程师的职责如下:

640?wx_fmt=png

平台研发工程师

在单机房故障自愈场景中,平台研发工程师需要关注三类平台的建设。如图所示:

640?wx_fmt=png

  • 基础运维平台:提供单机房故障自愈场景中的依赖平台,如:监控平台和流量调度平台。在日常运维中提供标准化运维数据获取和运维操作的基础,而在AIOps中,这部分接口需要能够同时支持人工和自动的数据获取和运维操作。

  • 智能运维平台:提供对AI能力的支持,如:统一的数据服务(运维知识库)、运维开发框架,以及给AI策略实验和运行的运维策略框架等。

  • 故障自愈机器人:针对单个业务场景进行平台化抽象,使之成为一个基础服务,基于AIOps平台研发和运行。

AIOps时代的职责和技能变化

平台研发工程师负责运维平台及基础组件的研发与建设。

在传统运维场景中,平台研发工程师负责平台、基础组件、类库和工具的研发工作。在针对运维的场景中,会覆盖运维相关的服务管理、监控、变更、流量调度等相关平台。

640?wx_fmt=png

这部分平台是运维的基础,在AIOps时代仍然需要依赖于这些平台的建设。

同时在AIOps场景中,数据成为了中心,运维各种状态信息转换为大数据,机器学习则作用在大数据上进行分析。在百度AIOps的实践中,运维开发框架、运维知识库、运维策略框架共同组成了完整的智能运维平台,三大平台的建设和实施离不开大数据、机器学习架构的引入。这就要求平台研发工程师具备大数据、机器学习平台架构师的多重身份,具备流式计算、分布式存储、机器学习平台、算法策略平台等一系列大数据和机器学习平台架构能力。

640?wx_fmt=png

运维研发工程师

基于多个业务线场景抽象出的单机房故障自愈解决方案,能够满足大部分场景需求,但并不意味着可以直接提供给各个业务线来使用。原因如下:

  • 策略和参数需要进行调整

流量调度、容灾策略等策略,针对不同的业务线,配置并不相同。例如某些业务对响应时间敏感,跨地域的调度会带来较大的延迟,影响用户体验,这时就需要根据业务情况配置机房之间的跨机房流量调度延迟系数,来实现流量优先调度到延迟系数最低的机房。

  • 通用框架无法满足所有需求

部分业务线需要对原有的策略进行部分重写才能够满足需求。例如,部分业务在流量调度时,需要联动服务降级来满足容量需求,这就需要额外增加服务降级联动的逻辑。

那么,就需要运维研发工程师出手来解决这个问题。根据业务线的实际情况,对策略和参数进行配置和调优,对通用框架无法满足的需求,进行定制化研发,使得单机房故障自愈方案能够实际应用在不同业务线上。

AIOps时代的职责和技能变化

运维研发工程师负责基于业务线特征的运维研发工作,在传统运维中,是运维自动化的实施者,实现了针对业务场景的自动化运维实施落地。其职责如下:

640?wx_fmt=png

在AIOps时代,运维研发工程师承担了AIOps智能化运维解决方案在业务线实施落地的职责。他们是AIOps场景的实践者,将AIOps解决方案与业务架构特征相结合,实现AIOps在业务线的落地。

640?wx_fmt=png

一方面,他们会与运维工程师紧密配合,对业务问题进行深度分析,理解业务的特点。另一方面,他们与平台研发工程师、AI工程师相配合,基于AIOps解决方案的策略和框架,进行定制化开发,使其适合自身业务线的特征。

总结

本文介绍了运维工程师、运维AI工程师、平台研发工程师、运维研发工程师四种角色在自动化运维时代和AIOps智能化运维时代,其职责和技能的拓展和变化。AIOps技术为运维技术的发展带来了更多的机遇,对于每个参与到AIOps实施的个人或团队也是如此。四种角色既有术业专攻,同时又紧密协作,共同将AI能力引入为运维赋能。那么,你的选择是什么呢?

640?wx_fmt=png

640?wx_fmt=png

↓↓↓ 点击"阅读原文" 【了解更多精彩内容】 



http://chatgpt.dhexx.cn/article/GonMJavv.shtml

相关文章

什么是AIOT?

AIoT(人工智能物联网)AI(人工智能)IoT(物联网)。AIoT融合AI技术和IoT技术,通过物联网产生、收集来自不同维度的、海量的数据存储于云端、边缘端,再通过大数据分析,以及更…

AIOps:实现运维智能化的一大利器

出品 | CSDN云原生 AIOps由Gartner于2016年提出,旨在使用大数据、机器学习等方法来提升运维能力,其目的是进一步降低自动化运维中人为干扰,最终实现运维无人化、自动化。 CSDN云原生系列在线峰会第16期“AIOps峰会”由用友畅捷通助理总裁熊昌…

AIOT介绍

百度词条的解释:AIoT(人工智能物联网)AI(人工智能)IoT(物联网)。AIoT融合AI技术和IoT技术,通过物联网产生、收集来自不同维度的、海量的数据存储于云端、边缘端,再通过大…

AIOps

自 Gartner 于 2016 年创造 AIOps 一词以来,人工智能已成为先进技术世界的流行语。AIOps 的目标是自动化复杂的 IT 系统解决方案,同时简化其操作。 简单地说,AIOps是一种转型方法,它使用机器学习和AI技术来运行诸如事件关联、监控…

AIOps是什么?为什么用它?

由于快速的数字化转型给 IT 企业组织带来了很大的压力,要求他们更加主动和敏捷,DevOps 原则和实践一直是宝贵的资源。但是,为了保持领先地位,企业需要更强大的解决方案。那么,答案是什么?当然是 AIOps&…

AIOPS是什么,它的未来如何?

AIOps,也就是基于算法的IT运维(Algorithmic IT Operations),是由Gartner定义的新类别,源自业界之前所说的ITOA(IT Operations and Analytics)。我们已经到达了这样的一个时代,数据科…

AIOps基本概念以及能力分级

一、概念 AIOps是Artificial Intelligence for IT Operations,智能化运维。 简单说, AIOps AI 运维数据 自动化处理 AI Devops 终极目标:“有AI调度中枢管理的,质量、成本、效率三者兼顾的无人值守运维,力争所运营系统的综合收益最…

AIOps介绍

AIOps介绍 AIOps是指人工智能运维(Artificial Intelligence for IT Operations)的缩写。它是将人工智能(AI)和机器学习(ML)技术应用于IT运维领域的一种方法。 传统的IT运维通常需要人工监测和管理大量的系…

智能运维(AIOps)系列之一:个人对智能运维的理解

前序 本人从事了 5年 的智能运维开发,把这几年的想法和思路在此跟大家分享一下,主要是为了起到抛砖引玉的作用。该序列总共5部分: 智能运维系列之一 — 概述:主要是讲述自己对智能运维的理解;智能运维系列之二 — 什…

使用TimerTask的坑

使用TimerTask可以方便的实现定时任务的功能,但是如果使用不当,反而会带来隐患。 在使用TimerTask时,TimerTask中的代码必须要做异常处理,否则产生异常的时候,就挂掉了。 特别像使用MQ发送数据的时候,不会…

Timer和TimerTask与线程的关系

1. Timer是一个定时器,它可以根据指定的时间,指定的执行周期来执行固定的任务TimerTask,例子如下: Timer与线程的关系,在Timer源代码中可现如下代码: 1. 以下为Timer的默认构造方法,起调用了自…

Java通过Timer与TimerTask实现定时任务调度

java通过Timer、TimerTask实现定时任务调度 文章目录 java通过Timer、TimerTask实现定时任务调度前言一、什么Timer类二、什么TimerTask类三、代码实现定时调度1.创建DuTask类2.创建测试TestDuTask类 总结 前言 在实际的工作当中,经常要用到定时去操作一下任务&…

Java的Timer和TimerTask怎么结束

java中自带的定时器有Timer和TimerTask,但是运行起来要结束任务用cancel方法可以结束该任务,此时Timer线程还在运行,程序并没有退出,那么怎么结束Timer呢? 示例代码如下 public class Test {public static void main…

TimerTask类和Timer类的cancel()方法详解

无论是TimerTask类还是Timer类,其cancel()方法都是为了清除任务队列中的任务。虽然都是清除任务队列中的任务,却有一些不同:TimerTask类中的cancel()方法侧重的是将自身从任务队列中清除,其他任务不受影响,而Timer类中…

java 定时器Timer和TimerTask的详解(执行和暂停)

目录 1:java.util.Timer定时器的常用方法如下: 2:参数含义: 3.暂停任务: 4.例子: 1:java.util.Timer定时器的常用方法如下: schedule(TimerTask task, long delay) // 延迟delay…

Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解

目录 一、Timer和TimerTask 1、快速入门 2、schedule与scheduleAtFixedRate使用方法 3、schedule与scheduleAtFixedRate区别 4、终止Timer线程 5、Timer线程的缺点 二、ScheduledThreadPoolExecutor 1、构造方法    2、调度方法 3、与Timer相比,优点 定…

TimerTask

详解java定时任务 在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现。下面LZ就其原理、实例以及Timer缺陷三个方面来解析java Timer定时器。 一、简介 在java中一个完整定时任务需要由Time…

Java Timer TimerTask示例

Java java.util.Timer是一个实用程序类,可用于调度将来某个时间执行的线程。Java Timer类可用于计划要一次运行的任务或定期运行的任务。 Java TimerTask java.util.TimerTask是一个实现Runnable接口的抽象类,我们需要扩展这个类来创建我们自己的Timer…

Timer+TimerTask实现数字时钟

成果展示 布局 布局主题背景颜色采用#000000(纯黑色),各TextView字体颜色采用#FFFFFF(纯白色)。 使用五个TextView,分别实现小时:分钟,秒钟,am,pm,周日,具体…

Timer + TimerTask 实现数字时钟

任务: 自己完成的: 遇到的问题: 1.Android Studio 中 calendar设置系统时区无效的问题 14:50它显示为06:50,时间显示错误,这是因为时区不同。 在8.0以后设置时区,有所改动&#xf…