I've been part of breaking up monoliths more than once — checkout, refund and wallet flows at an e-commerce marketplace, and a monolithic email system at a travel company. The lesson I'd pass on from both: don't rewrite, carve.
Big-bang rewrites tend to stall for a simple reason: the old system keeps changing while you rebuild it, so the target moves, and nothing reaches production until everything does. The strangler fig pattern, named by Martin Fowler after a vine that grows around a tree until it can stand alone, does the opposite. You put something in front of the monolith, move one capability at a time into new code, and send traffic there piece by piece. The monolith shrinks; production never stops.
The router is the seam: each route can point at old or new code. Explore the interactive diagram
Step 1: pick the first slice
The first slice decides whether the project gets a second one.…