9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

支撑 AIOps 的运维角色和技能有哪些?

  • 2019-03-12
  • 本文字数:3392 字

    阅读完需:约 11 分钟

支撑AIOps的运维角色和技能有哪些?

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


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


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


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


  • 运维工程师

  • 运维研发工程师

  • 平台研发工程师

  • 运维 AI 工程师


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

单机房故障自愈场景

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


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



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


运维工程师

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



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

AIOps 时代的职责和技能变化

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


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



主要包含如下工作内容:



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



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

运维 AI 工程师

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



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


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


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


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


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

AIOps 时代的职责和技能变化

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


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



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


平台研发工程师

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



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

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

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

AIOps 时代的职责和技能变化

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


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



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


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


运维研发工程师

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


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


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


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


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


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

AIOps 时代的职责和技能变化

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



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



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

总结

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




作者简介


运小青,百度云资深研发工程师,负责百度云智能监控、智能故障自愈方向架构设计与研发,推动 AIOps 的实践与落地。


本文首发于公众号“AIOps 智能运维”:https://mp.weixin.qq.com/s/KgTm0cIibs-GJgSuQE68Ng


2019-03-12 14:455262

评论

发布
暂无评论
发现更多内容

融云X-Meetup南京站 探讨实时通信架构的高质量设计

融云 RongCloud

短视频编辑:基于ExoPlayer可实时交互的播放器

梅芳姑

单片机异常复位后如何保存变量数据

不脱发的程序猿

嵌入式 单片机 4月日更 硬件研发 单片机异常复位

二次元界福音:MakeGirlsMoe创建动漫人物

不脱发的程序猿

GitHub 开源 4月日更 二次元 MakeGirlsMoe

货运物流移动端解决方案:为货运物流行业打造高性能、高粘性的“双端”触点

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS 移动端 智慧物流

荷小鱼 x mPaaS | 借助 H5 容器改善 App 白屏、浏览器兼容等问题

蚂蚁集团移动开发平台 mPaaS

html5 mPaaS 离线包 教育科技

Hexo + Material + Github 搭建博客

U2647

博客 4月日更

重磅官宣:Nacos2.0 发布,性能提升 10 倍

阿里巴巴云原生

Java 容器 微服务 云原生 应用服务中间件

融云推出超值套餐包,音视频20万分钟免费享

融云 RongCloud

Rust从0到1-所有权-引用和借用

rust 引用 所有权 借用

OpenTelemetry 简析

阿里巴巴云原生

容器 开发者 云原生 k8s 监控

flink流计算可视化web平台

无情

sql 流计算 flin

Java开发8年,40W年薪被别人叫垃圾?请你们不要口嗨了,好好去刷题吧!

Java架构追梦

Java 架构 面试 金三银四 年薪40W

将AI部署到现实?或许你该读读这本书!

澳鹏Appen

人工智能 大数据 AI 伦理

清明节特辑 |记忆存储、声音还原、性格模仿……AI可以让人类永生吗?

华为云开发者联盟

AI 语音合成 清明节 对话机器人 VR/AR

8x Flow 业务建模法(一):你能分清业务和领域吗?

胡皓

领域驱动设计 DDD 架构设计 事件风暴 业务建模

那些我磕过的音视频项目总结

梅芳姑

用DeBug的方式,带你掌握HBase文件在Snapshot的各种变化

华为云开发者联盟

HBase 元数据 数据迁移 数据备份 Snapshot

盘点几代会声会影图标

奈奈的杂社

MySql数据库列表数据分页查询、全文检索API零代码实现

crudapi

全文检索 API crud crudapi 列表查询

Java程序员都要懂得知识点:原始数据类型

华为云开发者联盟

Java 字符串 StringBuffer 原始数据类型 布尔类型

自己搭建一个语音聊天室

anyRTC开发者

ios android 音视频 WebRTC RTC

Netty HashedWheelTimer 时间轮源码详解

Yano

Java 架构 Netty

定义边缘计算架构需考虑的三个方面

边缘计算

Kubernetes 稳定性保障手册 -- 可观测性专题

阿里巴巴云原生

Serverless 容器 云原生 k8s 存储

业务随行:用户的网络访问策略还能这么玩

华为云开发者联盟

网络 通信 安全组 IP地址 业务随行

Serverless 可观测性的过去、现在与未来

阿里巴巴云原生

Serverless 容器 开发者 云原生 调度

SCF—BSS3.0的“公路网”

鲸品堂

工具 框架搭建 流式计算框架

如何美化 GitHub 个人主页?

彭宏豪95

GitHub 写作 markdown IT 4月日更

软件测试分类体系,系统学习

程序员阿沐

软件测试 测试工程师 黑盒测试 白盒测试 测试类型

在npm发布自己的组件

空城机

JavaScript 大前端 npm 4月日更 自定义组件

支撑AIOps的运维角色和技能有哪些?_软件工程_运小青_InfoQ精选文章