写点什么

百度自动化运维的演进(一):聊聊百度自动化运维

  • 2019-09-09
  • 本文字数:1714 字

    阅读完需:约 6 分钟

百度自动化运维的演进(一):聊聊百度自动化运维

百度运维部于 2008 年正式成立,截至目前共打造了三代运维平台,百度的运维技术也经历了 web 化、开放化、智能化三个阶段。《百度自动化运维的演进》系列文章将分上、下两篇介绍百度自动化运维的演进历程,本篇主要介绍百度运维部对运维、自动化运维的理解与百度自动化运维评价标准,下篇则根据时间脉络介绍百度的三代运维平台。


注:本文所讨论的上下文内,特指互联网服务的运维,而非 IT 系统、IDC 等的运维,或者更具体地,指的是应用运维。

什么是运维

运维,从字面来看,可以将运维分为两部分:

1 运

运,一般的理解是运行,将服务运转起来,以满足用户和客户的需求;进一步的含义还有运筹,即统筹安排资源,提供最优解决方案,以达到效益最大化。

2 维

维,一般的理解是维护,维持并监护服务的运行过程,包括应对服务管理请求和事件;进一步的含义还有维系,或者说连接,特指其起到的承上启下和枢纽作用。


百度百科给出了非常明确的定义: 其核心目标是将交付的业务软件和硬件基础设施高效合理的整合,转换为可持续提供高质量服务的产品,同时最大限度降低服务运行的成本,保障服务运行的安全。


在百度运维部,我们对运维的理解,简单概括就是:确保大家高质量、高效率、低成本地使用百度产品。

什么是自动化运维

什么是自动化运维,答案有很多。这里,我尝试从另外一个角度,什么不是自动化,来尝试回答下:

自动化是达成目标的手段

首先,自动化不是运维的最终目标,而是达成目标的手段;通过自动化我们可以提高服务的可用性,可以加速服务的迭代,可以降低服务运行所花销的成本。

自动化是解决方案和工程

其次,自动化不是将运维人员的工作、行为进行简单封装和串联;而是通过总结、提炼、抽象形成的系统化的解决方案和工程(Engineering)。

自动化实现方法是多样的

再次,自动化的实现方法,不是一成不变的:一方面,我们运维的服务、我们支持的产品和用户都在不断变化(这就是互联网啊);另一方面,我们的自动化实施对象也在随技术能力的发展而不断演进(从自动化执行命令、到自动化感知故障、再到自动化决策规划)。

百度自动化运维的实践历程

百度运维部,于 2008 年正式确立,而运维工程师这个职位,出现得更早些(大概在 2004 年~2005 年),从一开始,运维部就在朝着自动化这个方向努力。

百度自动化运维标准

接下来给大家介绍的内容,是结合了我们多年的实践经验,并参考了 SAE(美国汽车工程师协会)针对自动驾驶所定义的分级标准得来的自动化运维分级标准。


我们也将其分成了 L1~L5 共 5 个层级,不同层级间的区别主要体现在如下 4 个方面的职能是人工还是运维系统实现的:


执行能力(Execution)


这很容易理解,将指令发送到目的端(服务器、设备等)执行并获得执行结果。执行能力是否由系统完成,是最基本的自动化要求,将其定义为 L1(工具辅助的自动化) ~ L2(部分自动化)。


感知能力(Perception)


包括感知服务的运行状态,感知服务的变更需求甚至故障事件,也可以称作理解。感知能力由系统完成后,结合一些固定的条件规则来决策并执行,可以达成 L3(有条件的自动化)。


规划能力(Planning)


根据其对待处理的需求、待解决的问题的感知,以及对运维对象的认知(知识),自主做出解决方案(规划)并在调度控制执行过程中,根据目标和运维对象的状态反馈来适时调整执行规划。规划能力由系统完成后,并由系统辅助人来进行知识、经验的沉淀以补充系统的扩展性,可以处理全部人类已知的运维工作,即 L4(高度自动化)。从 AI 角度看,可以认为到了这个层次的自动化运维系统具有了一定的弱人工智能。


主动学习能力(Proactive Learning)


主要指的是不依赖人,系统可以自行总结、提炼、抽象形成知识和经验的能力。至此,全部的运维工作都可以交由自动化运维系统处理了,即 L5(完全自动化)。从 AI 角度看,可以认为到了这个层次,称之为强人工智能了。

小结

从全局视角审视自动化运维的若干层次及其之间的关系,可以得到下面这张表格:



作者介绍:


运小皮,百度资深运维工程师,负责百度智能运维平台的设计和实施。曾负责网页搜索、移动搜索产品运维和服务高可用、持续部署等技术方向。


本文转载自公众号 AIOps 智能运维(ID:AI_Ops)。


原文链接:


https://mp.weixin.qq.com/s/gFdz6tdnpw2ICUqNCC-DnA


2019-09-09 14:052232

评论

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

静态代码分析 | 数字驾驶舱时代,如何确保车载信息娱乐系统的网络安全?

龙智—DevSecOps解决方案

网络安全 车载信息娱乐系统 IVI

Arduino ESP32-C3 入门初探

矜辰所致

Arduino ESP32-C3 10月月更 Ard

关于 Angular view Query 的 id 选择器问题的单步调试

汪子熙

typescript 前端开发 angular web开发 10月月更

议题征集|Flink Forward Asia 2022 正式启动

Apache Flink

大数据 flink 流计算 实时计算

文盘Rust -- struct 中的生命周期

京东科技开发者

redis rust 生命周期 Trait Trait Objects

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

西柚子

openGauss社区理事长江大勇:openGauss联合产业界创新,共建开源数据库根社区

开源数据库

数据库基础

说故事的五公子

MySQL 数据库 sql

版本控制 | 一文了解VR内容创作的步骤与关键技术

龙智—DevSecOps解决方案

vr VR/AR

Surpass Day——Java 多态、final关键字、常量、package、import、访问控制权限修饰符

胖虎不秃头

Java 10月月更 se

即时通讯技术周刊(第1期):懒人网络编程系列 [共14篇]

JackJiang

网络编程 即时通讯 IM

.NET现代化应用开发 - CQRS&类目管理代码剖析

MASA技术团队

.net CQRS MASA Framewrok MASA

openGauss开源2周年,破解数据库生态痛点

九鑫智能正式加入openGauss社区

C++学习---cstdio的源码学习分析07-重新打开文件流函数freopen

桑榆

源码刨析 10月月更 C++

代码质量与安全 | 清洁代码(Clean Code)比您认为的更重要

龙智—DevSecOps解决方案

clean code 清洁代码

UData查询引擎优化-如何让一条SQL性能提升数倍

京东科技开发者

sql 数据 查询引擎 数据服务 udata

大数据ELK(十六):Elasticsearch SQL(职位查询案例)

Lansonli

ES 10月月更

云和恩墨:让商业数据库时代的价值在openGauss生态上持续繁荣

建木v2.5.6发布

Jianmu

DevOps 持续集成 jenkins CI/CD gitops

Surpass Day——Java static关键字、继承、方法覆盖

胖虎不秃头

Java 10月月更 se

LinkedList源码分析(一)

知识浅谈

linkedlist 10月月更

拿到字节跳动offer后,又收到了阿里的面试邀请,二面迎来了P9"盘问"

Geek_0c76c3

Java 开源 程序员 架构 开发

思特奇加入openGauss开源社区,共同推动数据库产业生态发展

数据库 开源社区

线下活动 | 龙智Atlassian ITSM 解决方案即将亮相2022全球运维大会上海站

龙智—DevSecOps解决方案

gops GOPS全球运维大会

一名在读研究生的自白:我为什么会沉迷于openGauss 社区?

Qt | 按钮控件的使用 QCheckBox

YOLO.

qt 10月月更 C++

SpringCloud版本升级后bootstrap.yml配置不生效

共饮一杯无

Java SpringCloud spring-boot 10月月更

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

鳄鱼视界

要求必须使用强密码

源字节1号

Surpass Day——Java this关键字

胖虎不秃头

Java 10月月更 se

百度自动化运维的演进(一):聊聊百度自动化运维_软件工程_运小皮_InfoQ精选文章