A service mesh is a network layer that secures, manages and observes application-level communication. In a service mesh deployment, all application level (Layer 7) traffic flows through the mesh. Thus, the mesh is able to add resilience policies (e.g., timeouts, circuit breaking), routing, observability, and security (e.g., enforce encryption policies) to all application level traffic.
Cloud-native applications today increasingly consist of large numbers of microservices, creating a distributed system that is subject to the fallacies of distributed computing. A service mesh can help mitigate the effects of a distributed system, without developer intervention, by transparently adding intelligence and observability to application traffic.