A service mesh is a network of cooperative and interacting services (i.e. microservices) and the communications between them, or the system for managing such a collection. Service meshes often include service discovery and runtime-configurable routing, allowing for things like:

  • load-balancing & failure recovery
  • A/B testing
  • “canary”, blue-green and other deployment patterns
  • authentication & access control
  • request tracing
  • dark releases

Istio and Traeffik are examples of service meshes on Kubernetes.