
38
|
第
3
章
•
立即改变代码路径并上线的部署转移到升级方案,其中代码部署与功能发布(通过
功能标志)解耦。
•
在生产环境中运行一个当前版本的应用程序转变为在生产环境中提供多个应用版本。
•
从让内部运维团队管理基础设施转变为部分关键基础设施组件由其他公司的其他团
队通过
API
的方式提供,而开发人员甚至可能无法直接访问这些基础设施。
•
在分布式世界中,对以前遇到的已知故障进行告警和故障排查的监控系统已变得严
重不足,以前从未遇到过(可能再也不会遇到)的未知故障将会频繁发生。
渐进式交付(
progressive delivery
)一词由
RedMonk
联合创始人
James
Governor
创造,指的是一揽子与受控的部分代码部署或对生产进行的更改有
关的技能和技术(例如,金丝雀发布、功能标志、蓝绿部署和滚动部署)。
管理
LAMP
堆栈等单体系统所需的工具和技术对于运行现代系统完全无效。在一个“大
爆炸”(“
big bang
”)版本中部署应用程序的系统管理方式与微服务大不相同。在微服务
中,应用程序通常逐个上线,代码部署不一定释放全部功能,因为无须部署就可以通过
功能标志启用或禁用代码。
同样,在一个分布式世界中,预发环境的系统变得不像以前那么有用或可靠了。即使是
单体系统,将生产环境的问题复现到预发环境上也总是很困难的。现在,在一个分布式
的世界里,这更是不可能的。这意味着调试和检查在预发环境中变得无效,我们已经转
向要求在生产环境中完成这些任务的模式。
3.4 向现代化实践变革
系统的技术方式和团队文化是相互关联的。团队在使用各种技术时的表现也受团队的管 ...