其他
Docker在企业中持续交付/部署类型
服务内最小部署
应用程序滚动部署
蓝/绿部署
A / B测试
这个过程存在多个阶段,所以需要以Swarm之外的监控和健康检查的形式进行支持
对于基础设施发生变化的情况下,效果不好
对正在运行的服务器进行更改——万一发生故障,恢复时间可能会很长
组件更新少,意味着可测性的提高;在正常提供服务的过程中进行应用程序和代码更改
无需停服务,没有额外的基础设施成本
这个过程通常比滚动部署更快(见下面)
Docker滚动更新有两种方式来处理部署过程失败的情况:
通过暂停,允许人为介入并回滚修复
或忽略报错继续执行,这意味着你可能错过在容器运行过程中出现的问题
比服务中最小部署(见上面)更复杂
在部署时间方面可能是效率最低的;时间长短取决于每个阶段更新的时间
我再次推荐Swarm之外的监控和健康检查
不用停机
可以暂停,允许有限的多版本测试
允许进行自动化测试——在继续之前评估部署目标
需要高级编排工具
就像数据库一样风险是存在的
在短时间内会产生一些额外的成本
非自然的用户流量会使你的服务器不稳定,这也是一个风险点
由于基础设施不动,所以降低了风险
接近零停机,无需停服务
使用DNS更改时,交换机是干净的并受控制的
过程是完全自动化的,并提供一个更好的验证窗口
在切换之前可以测试整个环境的健康和性能
与前述的部署方法相比,需要移动很多部件
更复杂,风险更高
需要完全自动化一切操作
我们可以提前预知规模和在生产中进行灰度发布
用来测试新功能并逐步评估性能,稳定性和健康状况
方便获得客户反馈,同时减少致命的影响和低级的错误
原文链接:https://dzone.com/articles/docker-amp-continuous-delivery-deployment-types
往期精彩内容回顾