Pattern #1: Promote a step-by-step migration by using the Strangler application model
The Strangler application model, introduced by Martin Fowler in 2004, involves moving services based on no more supported architectures behind an API and then prohibiting any changes to that code.
The new features are then implemented in a new service based on the new architecture but making calls to this API. A proxy design pattern forwards each route towards the former or the new implementation.
This model thus allows a step-by-step migration.
In a system that is too compact, any change in the code at the local level introduces a risk of failure at the global level.
To reduce this risk, best practices are :
- Set up weakly coupled architectures,
- Use interfaces that define how the modules connect to each other.
The advantages are :
- Possibility to make small changes while reducing risks,
- Improved testability through the use of APIs,
- Increased productivity thanks to the notion of contract and SLA,
- Possibility to use different technologies for each API.
- Pattern #1: Promote a step-by-step migration by using the Strangler application model
- Pattern #2: Testing dependencies
- Pattern #3: Single or multi-repository pattern
- Pattern #4: Data migration
- Pattern #5: Have the changes approved by people close to the problems
More articles on my blog http://www.DevOpsTestLab.com.
My LinkedIn profile: https://fr.linkedin.com/in/brunodelb