Repeated plumbing
Every service needs the same cross cutting networking: retries, timeouts, mTLS, discovery, and metrics. Re implementing these in each service and language is wasteful and inconsistent.
The sidecar
A sidecar is a helper process deployed beside each service instance, sharing its lifecycle. All of the service network traffic flows through the sidecar proxy.
- The service does plain local calls.
- The sidecar handles encryption, retries, and routing.
The service mesh
A service mesh is the full set of sidecars plus a control plane that configures them.
- The data plane is the sidecar proxies moving traffic.
- The control plane pushes policy: routing rules, security, and limits.
What you gain
Uniform mTLS, traffic shaping, and observability with no application code changes. The cost is extra proxies, latency per hop, and operational complexity.
Key idea
A service mesh moves networking into sidecar proxies steered by a control plane, giving uniform security and observability without changing application code.