Salesforce 开发运维中的功能发布策略
1. 部署与发布的区别
部署和发布是两个不同的概念。部署是指将代码和配置从一个环境迁移到另一个环境,而发布则意味着让这些代码和配置对用户可用。发布依赖于部署,如果功能没有迁移到用户所在的环境,用户就无法使用它们。不过,我们可以通过在用户准备好使用之前“隐藏”这些功能来实现仅部署而不发布。
举个例子,小时候,父母会在圣诞节前的几周甚至几个月为我和哥哥购买礼物,但他们会把礼物藏在家里,直到圣诞节早上才给我们,给我们一个惊喜。父母购买礼物并带回家的过程就类似于部署,而在圣诞节早上把礼物送给我们则类似于发布。
这种将部署和发布“解耦”的做法也被称为“暗部署”,是一种非常值得推荐的实践。ThoughtWorks 多年来一直推荐这种做法,它与金丝雀部署(Canary Deployments)和功能开关(Feature Flags)的概念密切相关。
1.1 解耦部署与发布的好处
解耦部署与发布有几个重要的好处:
1. 降低部署压力和风险 :部署通常是一个复杂的过程,可能涉及到精确的时间安排、监控以及不同团队之间的协调。当部署同时意味着向用户发布时,这无疑会增加过程的压力和风险。如果功能可以在不影响用户的情况下部署到环境中,那么就可以在正常工作时间进行部署,而不必担心会干扰人们的工作。
2. 简化发布流程 :即使部署过程很复杂,但如果向用户发布功能只是更改一个标志或权限的问题,那么管理员可以随时进行,同时可以与向用户或客户的公告进行协调。如果某个功能出现问题,也可以像启用它一样轻松地禁用它。
3. <
超级会员免费看
订阅专栏 解锁全文
1154

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



