What is Service mesh
A service mesh is a configurable, low‑latency infrastructure layer designed to handle a high volume of network‑based interprocess communication among application infrastructure services using application programming interfaces (APIs). A service mesh ensures that communication among containerized and often ephemeral application infrastructure services is fast, reliable, and secure.
In addition, the mesh provides critical capabilities, including service discovery, load balancing, encryption, observability, traceability, authentication and authorization, and support for the circuit breaker pattern.
What is Istio
Istio is an open source service mesh that layers transparently onto existing distributed applications. Istio’s powerful features provide a uniform and more efficient way to secure, connect, and monitor services. Istio is the path to load balancing, service-to-service authentication, and monitoring – with few or no service code changes.
Below are some features/reasons to adopt Istio with Kubernetes:
- Rich sets of metrics to provide instrumentation at the service-to-service layer.
- Automatic load balancing for HTTP, WebSocket, gRPC, and TCP traffic.
- The ability to introduce and manage TLS termination between communication endpoints.
- Fine-grained control of traffic behaviour with rich routing rules, retries, failovers, and fault injection.
- A pluggable policy layer and configuration API supporting access controls, rate limits and quotas.
- Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress.
- Secure service-to-service authentication with strong identity assertions between services in a cluster.
Linkerd – Linkerd is the creation of Bouyant, and it is currently a sponsored project of the Cloud Native Computing Foundation (CNCF).
Consul Connect – Consul Connect uses an agent installed on every node as a Daemon Set which communicates with the Envoy sidecar proxies that handle routing and forwarding of traffic.
As of June 2021 current released version is 1.10.2