weblogic 版本部署
DevOps使我们能够快速交付,从生产反馈中学习,做出更好的受过教育的决策并提高客户满意度,获取和保留。 我们需要在导致漠不关心或负面的用户体验的功能上快速失败,而要专注于能够带来积极影响的功能。 渐进式曝光是基于功能标志和基于环的部署的DevOps做法,它使我们可以向生产中的选定用户公开功能,在将其公开给所有用户之前进行观察和验证。
您可能会问自己,是否使用基于环的部署,功能标记或同时使用这两者来支持环境中的渐进式曝光。 让我们从探索这些策略开始。
铃声和功能标志
基于环的部署首先在Jez Humble的书“ 持续交付”中讨论为金丝雀部署。 在逐步部署和确认生产变更的同时,环网可以限制对最终用户的影响。 借助环,我们可以通过观察,测试,遥测诊断以及最重要的是用户反馈来评估撞击或“爆炸半径”。 环使逐步部署二进制位和并行运行多个生产版本成为可能。 当您确信一切正常时,您可以收集反馈而不会影响所有用户,停用旧版本并分发新版本。
下图显示了基于环的部署过程的实现:
当您的开发人员完成对master分支的拟议更改的拉取请求时,(1)持续集成构建会执行构建,单元测试,并触发自动发布到生产环境中的Canaries环境。 如果您确信该发行版已准备好供用户接受并在生产中进行探索性测试,则(2)您可以将该发行版批准到Early Adopters环。 同样,当您确信发布已准备就绪,可以(3)将发布批准给Users环。 环的名称和数量取决于您的偏好,但是所有环都使用相同的生产环境非常重要。
特征标记最早是由Martin Fowler推广的。 标志使发布部署和功能公开脱钩,将运行时控制权交给单个用户,并支持假设驱动的开发。 使用遥测功能并将其标志绑定回遥测,可让您确定某个功能是否有助于提高用户满意度,获取和保留。 您还可以使用功能标志进行紧急回滚,将功能隐藏在不可用的区域,或根据需要启用遥测。
典型的功能标志实现是基于(1)定义标志的管理服务,(2)运行时查询以找出标志的值以及(3)if-else编程构造,如下所示:
无论您使用的是开源扩展社区,还是将65,000名工程师迁移到DevOps ,功能标记和基于环的部署模型策略都是无价的。
回到问题:应该使用功能标志,环还是同时使用?
帕特里克·洛·卢姆巴(Patrick LO Lumumba)的名言“您不会用锤子回应蚊子叮咬”。
我们同时使用铃声和功能标志来逐步公开生产中的新版本,无论它是针对我们的商业产品的修补程序还是功能版本,随着该版本的爆炸性或影响半径增加,都会影响65,000名工程师,最终影响数十万用户。 功能标记使我们能够逐步揭示每个发行版的新功能,执行A / B测试以及在生产中进行实验。 因为我们正在使用云服务和扩展,所以我们与用户之间存在持续的反馈循环,并能够通过切换功能标志来微调每个发行版。
对于我们的开源社区扩展,我们主要使用基于环的部署来逐步向金丝雀,早期采用者和用户公开新版本,如下表所示。 我们正在逐步在所选扩展中实现功能标记,以进行实验并收集微调功能和管理相关技术债务方面的经验。
准连续交付模式是另一个示例,该示例使用两种策略将新功能部署到第一环的1%用户,然后部署20%,50%和100%的用户,并以相同的模式部署到第二环,并且以此类推。
您可以使用基于环的部署或功能标志来实施渐进式曝光DevOps实践-它们是共生的。 归根结底,就是要发布版本和公开功能时要多么谨慎。 我建议您同时尝试两者。 首先使用部署环逐步展示新发行版,然后使用功能标记微调生产环境中的每个发行版。
我想到一个
振铃和举报愉快!
在我们的开源扩展的上下文中,将环与标志进行比较:
| 部署环 | 功能标志 | |
|---|---|---|
| Progressive exposure | 是 | 是 |
| A/B Testing | 环内的所有用户 | 所有或选定的用户 |
| Cost | 生产环境维护 | 功能标记数据库和代码维护 |
| Primary use | 管理影响“爆炸半径” | 显示或隐藏版本中的功能 |
| Blast radius - Canaries | 0-9金丝雀用户 | 0,全部或特定的Canary用户 |
| Blast radius - Early Adopters | 10-100个早期采用者用户 | 0个,全部或特定的早期采用者用户 |
| Blast radius - Users | 10000+用户 | 0,全部或特定用户 |
有关更多详细信息,请参阅使用功能切换进行软件开发, 通过环逐步部署应用程序以及我们的功能标志调查 。
翻译自: https://opensource.com/article/18/2/feature-flags-ring-deployment-model
weblogic 版本部署
本文探讨了DevOps实践中功能标志和基于环的部署策略,如何帮助团队逐步暴露新功能,进行A/B测试,以及管理版本的爆炸半径。通过结合这两种方法,可以在不影响所有用户的情况下,逐步引入新版本,收集反馈并调整功能。
782

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



