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