Follow this blog

Software engineering, design, and psychology

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.

Follow this blog
Send
Share