Itโ€™a a service with a micro-public interface.

A service with a micro-public interface is:

  • easier to understand what it does and how it integrates with other system components,
  • has less reasons to change making it more autonomous for development, management and scaling.

Took the software engineering industry by storm in the mid-2010s.

Microservice is a physical boundary.

Owned by a single team.

Balance when decomposing the system into microservices

Deep module concept can be applied when designing microservices to manage System complexity.

When decomposing the system into microservices, the cost of change in the system goes down comparing to a monolithic system. But after a certain threshold upon which a system can be decomposed to, the modules will become more and more shallow, their interfaces will grow, integration needs will go up, and the systemโ€™s architecture will turn into distributed big ball of mud.