Service mesh

In software architecture, a service mesh is a dedicated infrastructure layer for facilitating service-to-service communications between services or microservices using a proxy.[1]

A dedicated communication layer can provide numerous benefits, such as providing observability into communications, providing secure connections, and automating retries and backoff for failed requests.[2]

A service mesh consists of network proxies paired with each service in an application and a set of task-management processes. The proxies are called the data plane and the management processes are called the control plane. The data plane intercepts calls between different services and processes them; the control plane is the brain of the mesh that coordinates the behavior of proxies and provides APIs for operations and maintenance personnel to manipulate and observe the entire network.[3]

The service mesh architecture is implemented by software products such as Istio, Cilium, Linkerd, Consul, AWS App Mesh, Kuma, Traefik Mesh, Greymatter.io, and Open Service Mesh. Many service meshes use the Envoy proxy on the data plane.[4]

  1. ^ Anjali Khatri; Vikram Khatri (2020). Mastering Service Mesh: Enhance, Secure, and Observe Cloud-native Applications with Istio, Linkerd, and Consul. Packt Publishing. p. 39. ISBN 9781789611946.
  2. ^ Lee Calcote; Zack Butcher (2019). Istio: Up and Running, Using a Service Mesh to Connect, Secure, Control, and Observe. O'Reilly Media. p. 3. ISBN 9781492043751.
  3. ^ Rahul Sharma; Avinash Singh (2019). Getting Started with Istio Service Mesh: Manage Microservices in Kubernetes. Apress. p. 103. ISBN 9781484254585.
  4. ^ "servicemesh.es". servicemesh.es. Retrieved 2021-09-02.