> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Envoy

> Describes Envoy proxy, its features and sidecar deployment, and how it offloads networking, security, and observability so applications can focus on business logic.

When exploring service mesh architectures, Envoy frequently appears as the recommended proxy. This article explains what Envoy does, why teams adopt it, and common deployment patterns — with a focus on how Envoy offloads cross-cutting networking concerns so applications can concentrate on business logic.

What is a proxy?
A proxy sits between clients and an application and handles cross-cutting concerns such as TLS termination, authentication, retries, and observability. Offloading these responsibilities to a proxy removes the need to embed the same logic in every service.

Typical request flow:

* A user sends a request to the proxy.
* The proxy applies TLS/mTLS, authentication, retries, and other policies.
* The proxy forwards the request to the application.

![A diagram titled "Proxy" showing a user icon sending requests to a proxy component that lists TLS, Auth, and Retry. The proxy forwards the requests to an application box containing the business logic.](https://mintcdn.com/kodekloud-c4ac6d9a/UK3oaG81L_yXeDcP/images/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Service-Mesh/Envoy/proxy-user-tls-auth-retry-app.jpg?fit=max\&auto=format\&n=UK3oaG81L_yXeDcP\&q=85\&s=7b4d079aab8d83162a3c0923bdd8f706)

What is Envoy?
[Envoy](https://www.envoyproxy.io/) is an open-source high-performance L7 (application-layer) proxy originally developed at Lyft to address challenges in large microservice environments. It also supports L4 traffic and provides a flexible, performant data plane suitable for edge and in-cluster proxying.

Key capabilities include:

| Category | Examples |
| - | - |
| Protocol support | HTTP/1.1, HTTP/2, and [gRPC](https://grpc.io/) proxying |
| Security | TLS termination, mutual TLS (mTLS), authentication integration |
| Resilience | Retries, circuit breaking, timeouts, rate limiting |
| Traffic control | Advanced load balancing, weighted routing, health checking |
| Observability | Metrics, distributed tracing, structured logging |
| Extensibility & config | Filter chain model, dynamic configuration via [xDS APIs](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/xds_protocol) |

Envoy graduated into the cloud-native ecosystem and is part of the [CNCF](https://www.cncf.io/). Because of its performance and extensibility, many service meshes use Envoy as the data plane and control it through a control plane using xDS.

Why use Envoy?

* Centralizes networking and security concerns outside application code.
* Provides production-grade observability (metrics, traces, logs) out of the box.
* Supports modern protocols (HTTP/2, gRPC) and advanced L7 routing features.
* Is highly extensible via filters and dynamic configuration.

Envoy as a sidecar
A common deployment pattern for Envoy in Kubernetes is the sidecar model: Envoy runs in a separate container inside the same Pod as your application. In this configuration, Envoy intercepts inbound and outbound traffic, applying routing, security, and telemetry policies without modifying application code.

Typical sidecar responsibilities:

* Inbound: Apply mTLS, routing rules, and health checks before delivering traffic to the app.
* Outbound: Perform retries, circuit-breaking, and route requests to other services.
* Observability: Emit metrics and traces for platform telemetry pipelines.

![A simple diagram showing the Envoy logo on the left and a Kubernetes pod on the right with a magenta Envoy sidecar proxy inside it alongside the main container. Arrows indicate Envoy routing incoming and outgoing traffic between the pod and external requests.](https://mintcdn.com/kodekloud-c4ac6d9a/UK3oaG81L_yXeDcP/images/Kubernetes-and-Cloud-Native-Associate-KCNA/Container-Orchestration-Service-Mesh/Envoy/envoy-sidecar-kubernetes-pod-routing-diagram.jpg?fit=max\&auto=format\&n=UK3oaG81L_yXeDcP\&q=85\&s=0a02ffccbbaf49c1213d2f05f3cfb3d7)

Deploying Envoy as a sidecar enables platform teams to centralize networking, security, and observability concerns while letting application developers focus on business logic. Most service meshes use Envoy as their data plane and control it via a control plane using the [xDS APIs](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/xds_protocol).

Further reading and references

* [Envoy Proxy — Official Site](https://www.envoyproxy.io/)
* [Envoy xDS Protocol Documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/xds_protocol)
* [gRPC — Official Site](https://grpc.io/)
* [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/)

> **[Watch Video](https://learn.kodekloud.com/user/courses/kubernetes-and-cloud-native-associate-kcna/module/aeecda11-7f2e-48c5-9c54-5409f2d9d8d8/lesson/72c4e745-8cbd-4f70-8c27-c0ec181608a8)**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.