bk-sops - 蓝鲸智云标准运维


BSD
跨平台
Python

软件简介

标准运维(SOPS)是通过可视化的图形界面进行任务流程编排和执行的系统,是腾讯蓝鲸产品体系中一款轻量级的调度编排类 SaaS 产品。

标准运维有两大核心服务。一个是流程编排服务:基于腾讯蓝鲸 PaaS 平台的 API 网关服务,对接企业内部各个系统 API 的能力,
将在多系统间切换的工作模式整合到一个流程中,实现一键自动化调度。另一个是自助化服务:标准运维屏蔽了底层系统之间的差异,
让运维人员可以将业务日常的运维工作交给产品、开发、测试等人员执行,实现业务发布、变更等日常工作的自助化,除此之外,为降低非运维人员的操作成本,
标准运维与蓝鲸 PaaS 平台深度整合,为用户提供了“轻应用”和“职能化”功能,提高自助率。

标准运维后台使用 Python 作为开发语言,使用 Django 开发框架;前端使用 Vue 开发页面,使用 jQuery
开发标准插件,通过配置式的开发模式, 不断降低用户开发标准插件前端表单的难度。

架构设计

这是标准运维的逻辑架构图,可以分为四层:

  • API 网关层 主要负责通过API网关和第三方平台进行交互,标准运维插件的实际执行就是通过这一层把请求分发给依赖的系统。
  • 流程引擎层 负责解析上层的任务实例,映射节点插件对应的服务,并通过底层的蓝鲸API网关调用其他系统的API(如配置平台的创建集群,作业平台的快速执行脚本等),流程引擎还包括了具体的任务执行引擎和流程控制、上下文管理等模块。
  • 任务管理层 主要对应标准运维的任务编排和任务控制功能,任务编排包含基础单元插件框架和插件展示层,任务控制包括创建任务实例的模板校验和参数校验,以及任务实例执行时给用户提供的操作接口如暂停、继续、撤销任务等。
  • 接入层 包含权限控制、API接口和数据统计等。

特性

  • 多元接入支持:标准运维对接了蓝鲸通知、作业平台、配置平台等服务,作为官方标准插件库提供服务,还支持用户自定义接入企业内部系统,定制开发标准插件。
  • 可视化流程编排:通过拖拽方式组合标准插件节点到一个流程模板。
  • 多种流程模式:支持标准插件节点的串行、并行,支持子流程,可以根据全局参数自动选择分支执行,节点失败处理机制可配置。
  • 参数引擎:支持参数共享,支持参数替换。
  • 可交互的任务执行:任务执行中可以随时暂停、继续、撤销,节点失败后可以重试、跳过。
  • 通用权限管理:通过配置平台同步业务角色,支持流程模板的使用权限控制。