vishal patel
LearningAdvancedUpdated 2026-09-23

Sidecar & Service Mesh

Move networking concerns — mTLS, retries, traffic splitting, telemetry — out of application code into a proxy deployed next to every service.

kubernetesistioenvoymtlstraffic-management

The problem

Every service in every language re-implements TLS, retries, timeouts, metrics and canary routing, and they all do it slightly differently.

How it works

diagram
  • Data plane: an Envoy proxy beside each app intercepts all traffic in and out.
  • Control plane: pushes routing rules, security policy and certificates to the proxies.
  • Istio objects you'll meet: Gateway (edge), VirtualService (routing rules, e.g. 90/10 canary), DestinationRule (subsets, load-balancing, circuit breaking), PeerAuthentication (mTLS).
Use it when
  • Many services in many languages need uniform security and traffic policy
  • You need canary or blue-green routing and zero-trust mTLS
  • Platform team exists to operate it
Avoid it when
  • A handful of services — a library or ingress is enough
  • No team to own the mesh (it's real infrastructure)
  • Tight latency budgets where an extra hop matters
Note

I've been studying this through the GitOps flow I worked alongside: Helm charts deployed by ArgoCD to EKS, with Istio routing. Next step is running canary releases with VirtualService weights end to end in a lab cluster.

Sources & further learning

Videos, courses, docs and books I recommend for this topic.

Related topics