回到主页

UWinRelease | 从简单部署到流量管理,部署编排给你更多想象空间!

hello,好久不见!

伴随EasyOps越来越高频的微发布模式,我们最新策划了【UWin Release】这个微栏目,小编将以月为单位,以最简单明了的方式,与你一起分享当月最新的产品资讯!

· 平台发布

最近,我们微发布了一波另人兴奋无比的小产品——部署编排,现在和小编一起了解一下吧。

熟悉我们产品的同学都知道,在EasyOps持续交付3.0产品线构成中,只有应付交付这条单独的产品线,用于覆盖单个应用的部署需求。

但在实际的生产中,更多的是同一个业务模块下多个应用的发布更新,让EasyOps实现部署编排的能力,是我们每一个产品、研发、技术的大兄弟们一直在思考推进的事情。

用户场景

我们在对用户场景分析时发现,用户在进行部署编排工作时,一般的工作流程是这样的:

broken image

传递给发布方案的参数,是一堆需要更新的应用列表以及他们的发布版本,这可以成为我们部署编排系统 API 层可以接受的参数,用于后续的对接发布计划、自动产生部署方案的扩展能力等,这会成为我们的系统边界。

核心特征

通过实践总结,一个优秀的部署方案通常会有以下的特点:

1、产品需求不会跨产品线,也就是说:发布方案通常不会跨多个系统模块进行发布,发布计划推送过来的需要更新的应用列表很可能是: ①. 同一个系统下的多个应用;②. 同一个系统下的多个子系统下的应用列表。

2、应用之间的发布顺序和技术架构相呼应,不会随便改变,例如:一个有前端 WebService、后端DataService、存储MYSQL的基本架构,发布顺序通常是 MySQL - > DataService -> WebService;

3、对于发布计划来说,每次更新的应用列表和版本号是会随着需求的变化而改变的,例如:系统A下有 A1、A2、A3、A4 4个应用,但是每次发布可能是 A1/A2、A2/A3、A1A2A4等任何组合;

总结一下:就是实现在业务模块下进行编排,有固定的编排顺序,灵活的变化的参数,画张图表达一下:

E.g.:业务系统 A,拥有应用 A1、A2、A3 和 A4:

  • 固定的部署顺序:

broken image
  • 灵活的发布参数(灰色表示本次发布计划不会发布):
broken image

这里的部署顺序可以是串行也可以并行,并行我们可以认为是一个部署组,例如:

broken image

所以其实我们可以认为,同一个业务模块下的编排顺序可以是一个母版,每一次的执行都是具体的部署方案,这个部署方案和具体的发布计划紧密关联,从而自动构建本次的部署。

而每一次的发布计划,都可以基于母版生成一套相应的编排方案。

应用部署方案

在我们最新的部署编排产品功能中,我们提供了基于单个应用的一键部署方案,也就是把手工部署的流程,保存下来成为一个固定的部署方案,无需每次都走重复的流程,并且可以为单个应用定制多个不同的部署方案来适应不同的情况,让单个应用真正做到一键发布。

产品目标

好啦,那我们部署编排这个产品要实现什么样的目标呢?

1、进一步提高 EasyOps 持续交付系统在应对客户生产环境的需求发布管理上的能力,为用户的产品功能发布自行构建相匹配的发布计划;

2、进一步提高应用交付能力的可配置能力和灵活性,为用户提供 EasyOps 交付系统和其他系统、甚至是第三方系统的联动能力;

3、把业务树和交付平台的底层能力进行场景化、产品化的封装,为平台的基础能力延伸展示更多的可能性。

OK ! 接下来,还是和小编一起,体验下【部署编排】产品的一些特性吧!

特性一.应用实例视图

broken image

解决需求:更方便的使用管理体验,用户可以直接通过应用实例树视图,查看和管理应用系统和应用的编排方案。

特性二.通用的编排方案

1. 发布任务支持影响范围的评估

编排方案创建发布任务后,在预览清单会看到此编排方案执行时对应用的影响范围。

broken image

2. 发布任务支持部署策略检查和发布清单预览

编排方案在创建发布任务的时候,会检查所有的应用一键部署策略状态,如果有应用处于异常情况无法发布时,编排方案会进行提示并且停止本次的发布。

broken image

编排方案在创建发布任务时,会提供发布清单进行预览,发布清单暂时会包含应用部署卡片和编排流程图,部署卡片会提供部署的应用策略以及对应的主机部署列表。

broken image

3. 发布任务支持编排方案的嵌套子流程查看

发布任务无论是预览清单,亦或是结果详情的流程图,均支持嵌套子流程查看模式,无需打开新的标签页,该特性对深度嵌套子流程、子编排方案以及审批节点有非常好的用户体验。

broken image
broken image

4. 发布任务支持应用部署卡片部署状态实时预览

发布任务在执行时,会根据部署节点为单位,实时加载各个应用的部署节点部署进度。

broken image

5. 发布任务支持发布任务的终止、失败节点跳过、失败节点重试以及再次执行

发布任务的结果详情对管理操作区域进行了优化,流程级别的操作全部放置在右上角管理区域。

broken image

6. 发布任务支持发布通知

编排方案在发布时,支持对相关人员进行执行概要的通知,提高了对发布任务跟踪和关注的力度。

7. 编排方案节点类型 ICON 全面更新

编排方案中支持的步骤类型有:工具、子流程、人工审批、部署策略(应用的编排方案特有)、子编排方案(应用系统的编排方案特有)。

在编排方案的流程图中对这些节点 ICON 进行了全面的更新,以便提高辨识度。

特性三.应用的编排方案

1. 内置“部署策略”的节点类型对接应用交付的一键部署策略

在应用的编排方案中,会提供一个特殊的步骤节点:部署策略,对接应用交付系统的一键部署策略,实现编排方案的部署管理能力的接入。

broken image
broken image

2. 编排方案可以另存为模板进行内部分享

应用的编排方案可以另存为编排模板,分享给其他业务线使用,同时应用系统的编排方案暂时不支持另存为模板,后续会提供此能力。

broken image

3. 可基于编排模板创建编排方案

broken image
特性四.应用系统的编排方案

1. 内置“子编排方案”的节点类型引用系统内的其他应用的编排方案

应用系统的编排方案,会有特殊的步骤节点类型:子编排方案,来引用应用系统内的应用的编排方案,实现当前系统内的多个应用联合发布的能力。

broken image

2. 支持应用自由组合发布

应用系统的编排方案,创建发布任务时,会计算出此编排方案所引用的发布应用,并且可以对发布的应用列表进行自由组合,禁用和激活要发布的应用,灵活适应发布需求。

broken image
特性五.工具和流程

1. 内置工具和流程不允许用户更新

部署编排为内置的工具和流程提供了保护机制,不允许用户直接编辑内置工具,唯一的更新途径是优维的交付同事使用导入的方式来进行更新版本。

2. 支持工具和流程添加部署编排白名单

部署编排为工具和流程增加了白名单的机制,从而让不用于部署编排的工具,不会出现在编排方案的编辑列表中,避免信息过多影响编辑效率。

broken image

如果您需要了解EasyOps产品具体能力、功能实现细节的,可以通过我们的商务销售渠道建立沟通哦,我们期待与您联系!