Adopting microservices patterns
What benefits does a microservice architecture bring to an application? Why should we move from monoliths to microservices?
Considering the concepts described so far, I think the following might be a good list of improvements you can achieve by adopting a microservice architecture:
- Evolution: It is common to have several smaller teams, each working with the tools, languages, and platforms that best match their objectives. By defining a simpler and smaller (bounded) context of the application, there are far better chances that the evolution and growth of it will be faster, more reliable, and with better business impact.
- Flexibility: By becoming as autonomous as possible, and by interacting with others in a loosely coupled manner, the microservice will gain many opportunities that would otherwise be impossible for a monolith architecture: changing the persistence layer, adopting a new library, or even switching to a different technology...