编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实践指南》前往:https://developer.aliyun.com/topic/devops,下载完整版电子书,了解阿里十年DevOps实践经验。
阿里巴巴应用运维平台已经发展了 6 年有余,支撑了公司绝大部分应用的上线部署、扩缩容、资源管理以及各种运维变更操作,并逐渐沉淀出一套丰富且稳定的运维原子服务。为了最大化这些原子服务的价值并打造应用运维平台的中台能力,我们提出了一种面向编排的运维解决方案。
面向编排的运维是指用户(PaaS 服务以及开发、运维、运营等角色)根据实际业务需要,对多个原子组件通过简单编排的方式进行灵活装配,构造出不同的业务流程以便完成一个完整的运维需求。运维编排可以帮助我们更好地规范、管理和执行自动化运维操作,以模板的方式定义所需要进行的操作,然后再通过系统运行,从而提高整体运维操作的效率、增强运维操作的安全性,并避免人工运维的错误。
主要痛点
在应用运维领域,大部分的做法都是基于工作流以及工单管理来实现对应的运维变更操作,而传统的运维工作流在维护成本及可扩展性上都存在一定的不足,缺乏有效的流程生命周期管理手段。
这些问题可以归结为以下三类:
-
随着业务的不断发展和业务场景的愈发丰富,运维业务自身也变得越来越复杂,经常会出现一些非通用的个性化需求,比如在扩容流程中新增一个第三方数据同步的步骤,或者针对同一变更类型,不同环境需要执行不同的运维流程。这些需求导致平台实现成本以及维护成本越来越大。
-
依赖的底层流程引擎在运维领域的支持有限,组件编排和流程管控等能力不易进行扩展,同时在规模化场景下,性能、