Canary Release vs Blue / Green
这是一种用于最小化风险的部署策略。
| Canary Release | Blue / Green | |
|---|---|---|
| Definition | 金丝雀发布是软件开发中用于减少引入新版本风险的部署策略,最初只向一小部分用户推出。 | 这是一种软件部署方法,涉及维护两个完全相同的生产环境,其中一个环境(蓝色)运行应用程序的当前版本,另一个(绿色)运行新版本。 |
| Categories | DevOps, deployment, release, risks | ALM, CD, CI, DevOps, deployment |
什么是金丝雀发布?
这是一种用于最小化风险的部署策略。
🐤
定义
金丝雀发布是软件开发中用于减少引入新版本风险的部署策略,最初只向一小部分用户推出。
📅
起源
这个名称来源于矿工下煤矿时会带一只金丝雀在笼子里。如果有有毒气体泄漏进矿井,金丝雀会先于矿工死去。
🔍
监控
系统被仔细监控问题,如果新版本表现良好,它将逐步向更多用户发布。
🔄
回滚
如果检测到问题,可以回滚发布,并为所有用户恢复旧版本。
👥
什么是金丝雀发布? →选择
使用不同策略选择将哪些用户暴露于新版本,如随机抽样或基于人口统计的选择。
什么是Blue / Green部署?
这是一种软件部署方法,涉及维护两个完全相同的生产环境。
🔄
定义
这是一种软件部署方法,涉及维护两个完全相同的生产环境,其中一个环境(蓝色)运行应用程序的当前版本,另一个(绿色)运行新版本。
🚦
流量切换
在任何给定时间,只有一个环境接收实时流量,所有生产流量都指向它,而不活跃的环境用于测试和推出新变更。
🔁
回滚
如果新版本出现问题,可以立即将流量切换回之前的实时环境,最小化停机时间和风险。
🌐
什么是Blue / Green部署? →目标
该方法旨在通过立即将请求从一个环境重定向到另一个环境来减少部署期间的停机时间。