A service mesh is a dedicated infrastructure layer that handles service-to-service communication in a microservice architecture. It provides features like traffic management, load balancing, service discovery, security (mutual TLS), and observability without requiring changes to application code. Popular implementations include Istio, Linkerd, and Consul Connect.
A service mesh works by deploying a lightweight proxy (called a sidecar) alongside each service instance. All network traffic flows through these proxies, which can apply policies, collect telemetry, and manage communication patterns. This approach decouples networking concerns from application logic.
Service meshes provide rich internal observability (request rates, error rates, latencies between services) and can implement circuit breakers, retries, and timeouts at the infrastructure level. However, they add complexity and latency overhead. External monitoring with tools like Hyperping remains important because a service mesh only covers internal communication — it doesn't verify that the user-facing endpoint is reachable from the internet.