In software architecture, a service mesh is a dedicated infrastructure layer for facilitating service-to-service communications between services or microservices, using a proxy. The service mesh architecture is implemented by software products like [[Istio]], Linkerd, Consul, [[AWS App Mesh]], Kuma, Traefik Mesh, and Open Service Mesh. Many service meshes use the Envoy proxy on the data plane.