As part of our exercise, we decided to transition our existing monolithic application, FlixOne, to a microservice-style 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 that it provides, with regard to cost, security, and scalability, apart from technology independence. This also aligns the application more with our business goals.
The entire process of transitioning requires you to identify seams that act like the 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 discussed how module interdependency, team structure, database, and technology are a few probable...