本文作者:吴君印,阿里云智能弹性计算ECS资深技术专家,负责部分ECS新产品、可信计算实例的架构,并全面负责阿里云智能OnECS、OnAliyun产品的技术研发和运维架构工作;拥有丰富的云计算行业的经验,致力于打造以ECS为中心的自动化和DevOps一体化的管理和运维体验。
序言
云计算行业已经有十多年的发展了,话题早已从“要不要上云”转向“如何用好云”。“要不要”其实是一个决策性的话题,直到决策出来一个结果了,话题就算结束了。而“如何用好云”却是一个持续性的话题。
一般来说,在规划阶段开始,企业就会开始思考“如何用好云”,这个话题会伴随用云的整个过程。如果简单地从工作类型划分,除了业务代码的研发(Dev),其他的部分都可以称为运维(Ops),包含资源创建(环境部署)、应用部署、资源管理、资源监控、报警、故障排查等工作。
笔者从事云计算工作超过五年时间,参与开发过多款云产品,可以说既是云计算产品的消费者,也是云计算产品的生产者。在这里,笔者谈一谈对云上DevOps能力体系的多年思考和总结,希望对准备上云或是已经上云的运维人员有所帮助。
1 自动化运维等级金字塔
从运维自动化等级和程度来看,DevOps其实是一种非常高级的自动化,不仅自动化程度比较高,而且对于自动化的完成方式有着非常严格的定义。关于运维自动化与DevOps的关系,其实可以非常好地参考汽车自动驾驶技术分级标准,笔者做了个对比图,如图1。
图1:自动化运维等级金字塔
如图1,自动化运维可分为5个等级,分别是手动运维、半手工/半自动化运维、高度自动化、标准化运维和AIOps,分别对应自动化驾驶的6个Level,其中运维自动化L2对应了自动驾驶的Level 1和2。为了方便说明和对比这5个自动化运维等级,请参考如下的表格。
表1:自动化驾驶等级与自动化运维等级对比参考
- Level 1:手动运维。一些技术能力一般的企业,在上云初期运维工作主要是纯手动,只能依赖云服务商提供的控制台进行操作。
- Level 2:半手工/半自动化运维,运维自动化工作比例还不超过30%。运维人员可以通过命令行(CLI)完成部分运维工作。
- Level 3:高度自动化,运维自动化程度可达到50%。企业运维人员会使用云平台的SDK调用API进行日常运维工作,同时自行开发运维系统,但运维系统通常无定制化和平台能力,和内部系统紧耦合。
- Level 4:标准化自动化,运维自动化程度超过90%。企业的运维系统已具备平台化、模版化和代码化的能力,可根据自身的运维需求定制化开发系统。与此同时,运维人员已具备使用具备模板化的产品来实现运维工作的标准化和自动化。
- Level 5:AIOps,即智能运维,运维自动化程度达100%。不再需要值班人员,生产力完全解放。这是当前很多大型互联网企业的运维目标,也是头部企业重点投入的