I recently gave a talk on how you can regain structure and control over a big ball of mud-ified monolith.
This talk is based on experiences from a customer I worked with some years ago. When we set out on this path we considered going the microservice-way, but ended up deciding against it.
We’ve seen quite a few talks the past years advocating the use of microservices for breaking up monoliths that have grown out of control. While there are many valid uses for microservices, I don’t think that this is one of them. As Simon Brown have previously said - If you can’t make a well-structured monolith, what makes you think you can create a well-structured microservices architecture?
In the talk, I present some stragies using domain-driven design to regain modelling space and structure in an existing monolith and delivering new value to the business in a fraction of time it would take to break this up into microservices.
The talk was delivered at Norwegian .NET User Group Vestfold, but is not .NET specific. It is, however, in Norwegian.