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

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

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

但在实际的生产中,更多的是同一个业务模块下多个应用的发布更新,让EasyOps实现部署编排的能力,是我们每一个产品、研发、技术的大兄弟们一直在思考推进的事情。
用户场景
User Scenario
我们在对用户场景分析时发现,用户在进行部署编排工作时,一般的工作流程是这样的:
1134582-20190402144104787-1562164009.jpg

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

核心特征
Core features
通过实践总结,一个优秀的部署方案通常会有以下的特点:
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:
固定的部署顺序:
1134582-20190402144129535-753513447.png

灵活的发布参数(灰色表示本次发布计划不会发布):
1134582-20190402144146078-623169486.png

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

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

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

产品目标
Target
好啦,那我们部署编排这个产品要实现什么样的目标呢?
1、进一步提高 EasyOps 持续交付系统在应对客户生产环境的需求发布管理上的能力,为用户的产品功能发布自行构建相匹配的发布计划;

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

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

OK ! 接下来,还是和小编一起,体验下【部署编排】产品的一些特性吧!
特性一.应用实例视图

1134582-20190402144205015-490658523.png

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

特性二.通用的编排方案

  1. 发布任务支持影响范围的评估
    编排方案创建发布任务后,在预览清单会看到此编排方案执行时对应用的影响范围。
    1134582-20190402144235369-487699732.png

  2. 发布任务支持部署策略检查和发布清单预览
    编排方案在创建发布任务的时候,会检查所有的应用一键部署策略状态,如果有应用处于异常情况无法发布时,编排方案会进行提示并且停止本次的发布。
    1134582-20190402144247433-1955492583.png

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

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

  2. 发布任务支持应用部署卡片部署状态实时预览
    发布任务在执行时,会根据部署节点为单位,实时加载各个应用的部署节点部署进度。
    1134582-20190402144319986-301083663.png

  3. 发布任务支持发布任务的终止、失败节点跳过、失败节点重试以及再次执行
    发布任务的结果详情对管理操作区域进行了优化,流程级别的操作全部放置在右上角管理区域。
    1134582-20190402144327135-1731461421.png

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

  5. 编排方案节点类型 ICON 全面更新
    编排方案中支持的步骤类型有:工具、子流程、人工审批、部署策略(应用的编排方案特有)、子编排方案(应用系统的编排方案特有)。
    在编排方案的流程图中对这些节点 ICON 进行了全面的更新,以便提高辨识度。

特性三.应用的编排方案

  1. 内置“部署策略”的节点类型对接应用交付的一键部署策略
    在应用的编排方案中,会提供一个特殊的步骤节点:部署策略,对接应用交付系统的一键部署策略,实现编排方案的部署管理能力的接入。
    1134582-20190402144338307-1761984898.png
    1134582-20190402144425860-290794220.png

点击图片查看大图

  1. 编排方案可以另存为模板进行内部分享
    应用的编排方案可以另存为编排模板,分享给其他业务线使用,同时应用系统的编排方案暂时不支持另存为模板,后续会提供此能力。
    1134582-20190402144432611-1240906181.png
    https://mmbiz.qpic.cn/mmbiz_png/mFZ1DgnXic3FbxJh8qicepHic7QC8vNKvg0jet2bz5WklJHR3ZKQjl1iaibWUtN6sCsw5TEBfrN2LXzicXrteZibWFX1Q/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

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

1134582-20190402144444384-1357344408.png

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

  1. 内置“子编排方案”的节点类型引用系统内的其他应用的编排方案
    应用系统的编排方案,会有特殊的步骤节点类型:子编排方案,来引用应用系统内的应用的编排方案,实现当前系统内的多个应用联合发布的能力。
    1134582-20190402144451617-1233206274.png
    1134582-20190402144456236-54990211.png

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

特性五.工具和流程

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

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

转载于:https://www.cnblogs.com/easy-devops/p/10642562.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值