Microservices should be intelligent. They are not weak CRUD services. They should model the business capability of the system. They own all the business logic in a bounded context. Having said this, microservices should not be large. Deciding the boundaries of microservices is a challenge. Finding the right boundaries might be difficult on the first go. It is important that as a team gains more knowledge about the business context, the knowledge flows into the architecture and new boundaries are determined. Generally, finding the right boundaries for microservices is an evolutionary process.
A couple of important points to note are as follows:
- Loose coupling and high cohesion are fundamental to any programming ...