Moving from a monolith to microservices
A usual case is the need to migrate from an existing monolithic architecture to a new microservices one.
The main reason for wanting to implement this change is the size of the system. As we've discussed before, the main advantage of a microservice system is the creation of multiple independent parts that can be developed in parallel, enabling the development to be scaled and the pace increased by allowing more engineers to work at the same time.
This is a move that makes sense if the monolith has grown to exceed a manageable size and there are enough problems with releases, interfering features, and stepping on each other's toes. But, at the same time, it's a very huge and painful transition to perform.
Challenges for the migration
While the final result may be much better than a monolithic application that shows its age, migrating to a new architecture is a big undertaking. We'll now look at some of the...