All glossary terms
Design

Service mesh

A service mesh is an infrastructure layer for service-to-service communication, typically implemented as a sidecar proxy (Envoy, Linkerd-proxy) running alongside each service. The mesh handles concerns that would otherwise be repeated in each service: mutual TLS, retries, circuit breaking, load balancing, traffic routing, and observability — uniformly, without modifying application code.

The dominant meshes — Istio (2017), Linkerd (2016), Consul Connect — solve real problems in large microservice deployments but introduce their own complexity. Smaller teams often discover that the operational cost of the mesh exceeds the cost of solving the same problems in libraries or at the API gateway. The pragmatic adoption pattern: don't introduce a mesh until you have at least 20 microservices, traffic patterns that require per-service security policies (zero-trust), and an SRE function capable of operating it. For smaller environments, sidecar-free meshes (Cilium service mesh) and library-based approaches are increasingly viable alternatives.

Related terms