写点什么

支撑 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:455409

评论

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

信贷风控从Model-centric到Data-centric

一直学习一直爽

互联网金融 风控模型 机器学习算法

架构训练营 - 模块二作业

伊静西蒙

[Pulsar] 设置认证和鉴权

Zike Yang

Apache Pulsar 12月日更

前端开发:关于Vue组件中的data属性值是函数而不是对象的详解

三掌柜

28t 28天写作 12月日更

Android ShareSDK 微博分享 (8995)app auth fail for appKey&sign&package 解决

阿策小和尚

28天写作 Android 小菜鸟 12月日更

天下武功,无坚不摧,唯快不破

Tiger

28天写作

kubernetes APIServer是如何限流的?

xcbeyond

Kubernetes 限流 28天写作 12月日更

DDD领域驱动设计实战(四)-值对象

JavaEdge

12月日更

React进阶(九):React-Redux

No Silver Bullet

React React-Redux 12月日更

dart系列之:这里不需要标新立异,dart代码最佳实践

程序那些事

flutter dart 代码规范 程序那些事 12月日更

模块二:朋友圈

撿破爛ぃ

「架构实战营」

JVM学习笔记

Changing Lin

12月日更

架构实战营 第 4 期 模块二作业

架构实战营 模块二 「架构实战营」

Kubernetes + Spring Cloud 集成链路追踪 SkyWalking

zuozewei

链路追踪 性能测试 性能监控 12月日更

模块七作业——王者荣耀商城异地多活架构设计

deng

架构实战营

Guava的布隆过滤器

程序员历小冰

算法 布隆过滤器 28天写作 12月日更

微信朋友圈高性能架构分析与设计

皓月

架构实战 #架构实战营 「架构实战营」

Cordova应用的JavaScript代码和自定义插件代码的调试

汪子熙

JavaScript android 28天写作 12月日更 cordova

Prometheus Exporter (三十一)ProxySQL Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 ProxySQL

模块二课程作业

李晓笛

架构实战营

情绪价值

搬砖的周狮傅

情绪

关于HDFS中的Lease Recovery

Joseph295

JavaScript 数组方法 .map() 的 5 个使用场景

devpoint

JavaScript map array 12月日更

🏆【Alibaba中间件技术系列】「EasyExcel实战案例」实战研究一下EasyExcel如何从指定文件位置进行读取数据

码界西柚

EasyExcel Apache POI Alibaba 12月日更

2021学习总结

将军-技术演讲力教练

微信朋友圈高性能分析

swallowluo

架构训练营 架构实战营 「架构实战营」

Python爬虫反爬,你应该从这篇博客开启,UA反爬,Cookie 特定参数反爬

梦想橡皮擦

12月日更

LabVIEW图像特征与机器视觉概念(理论篇—4)

不脱发的程序猿

机器视觉 图像处理 工业自动化 图像特征

从对象内存布局了解锁的膨胀

Ayue、

锁升级

☕【Java深层系列】「技术盲区」让我们一起去挑战一下如何读取一个较大或者超大的文件数据!

码界西柚

Mmap 12月日更 MappedByteBuffer FileChannel

跟着动画学Go数据结构之希尔排序

宇宙之一粟

golang 希尔排序 12月日更

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