我先加入了后端团队,App团队,负责巨石架构 Ruby on Rails 应用。当时我们没有把它称为遗留, 而是称它为母舰。App 团队拥有 Rails 应用程序中的所有内容, 包括旧的用户界面。...随着越来越多的人离开了紧密的小微团队, 与来自 Web 团队的人一起开发Next功能, 非正式的沟通渠道就中断了。由于误解了什么是正在部署或如何设计的一些功能, 部署开始出问题,变得频繁。...我们知道, 从多年的经验来看, 很多人都会犯愚蠢的错误,在线修改一个需求,导致整个平台中断几个小时。
2、为什么人们经常犯错误?因为代码库太复杂。很难记住所有的事。
3、为什么代码库如此复杂?...将对模块的更改推送到生产不应要求新部署不相关的模块, 如果此类部署坏了, 并且生产中断, 则唯一受影响的功能应该是被更改的一个。...这个团队一直处于救火模式, 他们缺乏动力把功能迁移到微服务, 因为这将带来更多的风险和潜在的中断。
这一问题最近才得以解决。