This episode traces Envoy's birth at Lyft, its evolution into a layer-7 proxy for microservices, and its comparison with NGINX, HAProxy, and service mesh data planes, complete with Envoy's main advantages.

Before understanding how Envoy works, you need to know where it came from and what problem it solves. Episode 1 opens the series with Envoy's history and background: why Lyft built its own proxy in 2016, how Envoy evolved into the standard data plane for microservices, and why it's used as the foundation of Istio and many modern service meshes.
You'll also see how Envoy is positioned compared to tools you may already know: NGINX, HAProxy, and service mesh data planes. This matters because tool selection affects your architecture. After this episode, you'll have a solid reason why learning Envoy is worth 23 episodes.
In 2015, Lyft's team faced the classic microservices architecture problem: hundreds of services talking to each other, and every service needing to handle discovery, retry, timeout, TLS, and observability over and over. The solution they chose wasn't a per-language library, but a separate proxy attached to each service.
The result was Envoy, written in C++ by Matt Klein, and released as open source in September 2016. Less than a year later, in November 2017, Envoy was donated to the CNCF and became one of the fastest-adopted projects. Today Envoy is the foundation of Istio, Gloo, AWS App Mesh, and many service mesh platforms.
Envoy was designed not to replace web servers, but to be a highly flexible data plane proxy:
envoy --version
curl -s localhost:9901/server_infoThe envoy --version command shows the binary version, while server_info from the admin interface displays runtime information. Both are useful for confirming that the image you're using is the right version.
To be fair, let's compare with two popular proxies:
The key difference is in how configuration works: NGINX and HAProxy generally reload on change, whereas Envoy can accept listener, cluster, and route changes live via xDS without restarting.
There are several technical reasons Envoy wins in many architectures:
This ecosystem isn't just a list of names: Istio, Gloo, and AWS App Mesh all inherit the same Envoy foundation — the xDS protocol, filter chains, TLS context, and the listener-cluster-route model. That's why the skills you learn in this series carry over directly to any service mesh platform without starting from scratch. This is the biggest value of learning Envoy: one engine, many platforms built on it.
That value is also why the community and vendors keep investing: rich documentation, an ever-growing set of filters, and WASM support for extending capabilities without changing Envoy's core. By learning Envoy, you're buying a skill that doesn't go stale quickly, because the protocol foundation and configuration model stay stable even as surrounding tooling changes.
A service mesh usually separates two components: a control plane that decides policy, and a data plane that enforces that policy against traffic. Envoy sits on the data plane side: it's the one that actually receives requests, does routing, authentication, and records telemetry.
Istio, for example, uses Envoy as a sidecar in every pod, while its control plane (istiod) pushes configuration to Envoy through the xDS protocol. The same pattern is used by Gloo and Linkerd (with their own variations). By understanding Envoy, you're really understanding the engine behind the most popular service meshes.
If your architecture is still simple, NGINX or HAProxy may be enough. Envoy only starts to shine when:
docker image inspect envoyproxy/envoy:v1.31.0 --format '{{.Config.Env}}'The docker image inspect command reads image metadata, including the built-in environment variables used by Envoy's default configuration. It's a small example of how much information the same image can expose.
Throughout this series, these four capabilities will keep coming up:
We'll dissect these pillars one by one from episode 3 to 22. No other proxy offers this complete combination in quite the same way. Remember these pillars well, because every episode in this series revisits one of them from a different angle.
Episode 1 placed Envoy in historical and ecosystem context: born from Lyft's needs, becoming the CNCF data plane standard, and now powering the largest service meshes in the world. You also understand Envoy's position compared to NGINX and HAProxy.
Key takeaways:
docker run without any build.In the next episode, episode 2, we'll discuss Envoy's core concepts and main architecture — listeners, clusters, routes, filter chains, and endpoints, plus the bootstrap configuration model and the role of control plane versus data plane and the xDS protocol. This is the mental foundation you'll use throughout all the remaining episodes.