Microservices vs. Traditional Services | Microservice Architecture — Ep. 3
A microservice is not a “small service” — it is a service with stricter constraints.
A microservice:
- owns a single business capability (“bounded context‘ in DDD terms)
- has limited to no dependencies on other microservices
- is deployed and versioned independently, without coordination with its consumers
- evolves its API in a backward-compatible way, giving consumers time to upgrade
- is owned by a team small enough to understand and operate it end-to-end (the ‘two-pizza team‘)
What the ‘micro-’ prefix does not mean:
- trivial logic
- a small codebase
- few endpoints
A microservice can be large and complex, as long as it remains cohesive and operable by a small team. And it can be small and simple too — if that’s what its business capability or scaling needs require.