What a service mesh provides
A service mesh handles service-to-service communication at the infrastructure layer, not the application layer. Every service gets a sidecar proxy that intercepts all traffic.
Key features
- mTLS — mutual TLS between all services automatically. Zero-trust networking without changing application code.
- Traffic management — canary releases, traffic splitting, retries, circuit breaking — all in config, no code.
- Observability — automatic traces, metrics, and service topology graphs from sidecar telemetry.
- Policy enforcement — define which services are allowed to talk to which at the infrastructure layer.
Istio vs Linkerd
- Istio — feature-rich, complex, higher resource overhead. More control over traffic policy.
- Linkerd — simpler, lighter, faster to operate. Rust-based proxies with lower per-pod overhead. Better choice for most teams new to service mesh.
Do you need a service mesh?
Probably not until you have 10+ services and a dedicated platform team. A service mesh adds significant operational complexity. Start with proper health checks, circuit breakers in code, and structured logging.