As part of our exercise, we decided to transition our existing monolithic application FlixOne to a microservice-styled architecture. We saw how to identify decomposition candidates within a monolith, based on the following parameters:
- Code complexity
- Technology adoption
- Resource requirement
- Human dependency
There are definite advantages it provides in regard to cost, security, and scalability, apart from technology independence. This also aligns the application more with the business goals.
The entire process of transitioning requires you to identify seams that act like boundaries of your microservices along which you can start the separation. You have to be careful about picking up seams on the right parameters. We have talked about how module interdependency, team structure, database, and technology are a few probable candidates. Special care is required...