百度运维部于 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
评论