软件部署与产品开发的高效策略
1. 解耦部署与发布
在进行低风险发布时,最重要的原则是将部署和发布解耦。下面我们先来明确这两个概念:
- 部署 :是指将特定版本的软件安装到特定环境中。是否进行部署(包括生产环境)的决策应纯粹基于技术层面。
- 发布 :是使某个功能或一组功能对客户可用的过程。发布决策应纯粹是商业决策。
然而,在实际操作中,这两个术语常被视为同义词,即把部署作为发布的主要方式。这种做法会带来严重的负面影响,它将技术层面的部署决策与商业层面的发布决策捆绑在一起,这也是组织政治因素介入部署过程的主要原因,对各方都不利。
有多种技术可以在不向用户开放软件功能的情况下,将软件安全地部署到生产环境,以便验证系统是否正常运行。其中,最简单且有效的方法之一是蓝绿部署(有时也称为黑红部署)。这种模式需要两个独立的生产环境,分别代号为蓝色和绿色。在任何时候,只有一个环境处于运行状态。
蓝绿部署的操作流程如下:
1. 当需要发布服务的新版本时,将包含新功能的软件包部署到当前未运行的环境(如蓝色环境),并进行充分测试。
2. 发布过程只需更改路由器指向蓝色环境;若要回滚,将路由器重新指向绿色环境。
3. 更复杂的方式是逐渐增加流向蓝色环境的流量。
对于那些部署过程痛苦且无法在高峰时段发布的公司来说,蓝绿部署允许在正常工作日进行安全的部署,必要时可在计划发布前几天完成。而更简单的发布过程(必要时的回滚操作)可以在非高峰时段由少数人员远程完成。
有些组织会将主数据中心和备份数据中心分别用作蓝色和绿色环境,这样
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



