Taming a Legacy Codebase with (Micro)services
This is a story of killing-off a legacy codebase written in PHP. To the business, it "just works" and the customers love it. To the developers, it's an unmaintainable nightmare of bad practice that has resisted every attempt to rewrite from scratch.
From the ashes of those doomed rewrites came a more incremental approach, finding areas in the code that could be extracted into small, composable services.
I'll discuss why microservices are nothing new, how our approach evolved, the challenges of adoption, and the pros and cons of the approach. Although I won't delve too deeply into the technology stack, I'll doff my (metaphorical) hat to Django REST Framework and a few other tools of choice that have made the work possible.
I hope to cut through the microservices hype, and illustrate one way of using them to refactor, and ultimately replace, a legacy monolith.