Microservices

Multiple autonomous services, each with its own deployment and database.

Context

Large organizations with clear bounded contexts and operational maturity (CI/CD, observability, on-call).

#Advantages

  • Autonomous teams.
  • Service-based scaling.
  • Fault isolation.
  • Heterogeneous stacks.

#Real Cost

  • Significant DevOps: orchestration (K8s), service mesh, tracing, schema registry.
  • Eventual consistency and compensations (Saga, Outbox).
  • Network latency between components that were previously functions.
  • Contract versioning.
When NOT to use it
  • Small team (< 20 people).
  • Product still seeking product-market fit.
  • No platform team.
Tradeoffs
Pro Con
Autonomy + granular scaling Expensive operations
Resilience through isolation Distributed systems = more bugs
Heterogeneous stacks possible Larger attack surface

#architecture #microservices