Breaking Down Monoliths - Using Tactical Forking to an Event Driven Architecture
Deconstructing monoliths is 'the new black'. Here's some insights from Gavin Allan on using lesser known Tactical Forking as part of a larger effort. Download to read what, why, how, and the benefits it delivered, with some key things to consider.
The elephant in the room was the core platform monolith. It contained almost every domain in the organisation and was a real-time system that ran 24/7. We wanted to break this down into domain based services to remove horizontal dependencies and allow for true system ownership and decoupling of the teams.
Up to this point the teams had been frequently blocking each other and introducing breaking changes that the other teams have to fix before anyone could move forward.
The database was where the coupling got really sticky, as is so often the case, there were lots of overlapping and ambiguous ownership and shared dependencies across domain boundaries.
There are many techniques and approaches that can be adopted when breaking down a monolith and for the whole system we had to employ several to find a workable strategy.
This article covers one of the approaches we took to break down one part of the system.
The technique we used is quite an advanced approach called tactical forking (https://www.vafion.com/blog/tactical-forking/). This is a fun name that just means you make a copy of the system for each domain you want and only use the bits of the system that you need in the copy that you have.
This is a lesser known approach than the strangler fig pattern but for lots of technically complex reasons it was the more appropriate option in this situation.
So, how does tactical forking actually work?
What are the things to consider?
Drop your details in the box below and we'll send you a link to download.