3 ms·
Do it gradually using the "strangler pattern" [1]. Find the part in your codebase that is (a) likely to undergo the most change, and (b) that is perhaps causing
by bradwood 4y ago
Do it gradually using the "strangler pattern" [1]. Find the part in your codebase that is (a) likely to undergo the most change, and (b) that is perhaps causing the most problems due to tech debt and figure out how to just refactor that.
Try using "branch by abstraction" [2] to slowly replace this part of the code by a new component (a microservice, perhaps?). Then release that (via a canary if you need to).
See how it goes in prod, and then rinse and repeat.
Trying to make a massive 8 microservice change in one hit is a recipe for disaster.
[1] https://martinfowler.com/bliki/StranglerFigApplication.html https://martinfowler.com/bliki/StranglerFigApplication.html
[2] https://trunkbaseddevelopment.com/branch-by-abstraction/ https://trunkbaseddevelopment.com/branch-by-abstraction/ and https://www.branchbyabstraction.com/ https://www.branchbyabstraction.com/
- naiv 4y agoThese are some interesting reads, thank you!