Envoy Proxy 101: What it is, and why it matters?

Envoy Proxy is a modern, high performance, small footprint edge and service proxy. Envoy is most comparable to software load balancers such as NGINX and HAProxy. Originally written and deployed at Lyft, Envoy now has a vibrant contributor base and is an official Cloud Native Computing Foundation project.

Background

As organizations have adopted microservices, a crucial component of deploying and managing microservices is a state-of-the-art L7 proxy. A L7 proxy provides observability, resilience, and routing in a way that’s transparent to your actual service.

Introduction to modern Network load balancing and proxying

Matt Klein - An excellent primer on load balancing in today's world, covering essential capabilites and why they're important

Read more

Lyft's Envoy: From Monolith to Service Mesh

Matt Klein - Watch Matt Klein cover Lyft's architectural migration from monolith to a fully distributed service mesh, the origins of Envoy, a high level architectural overview, and future directiosn.

Watch now

API versioning and evolution with proxies

Cindy Sridharan - A L7 proxy is a powerful tool to help you iterate your APIs, while minimizing and user impact. This article discusses one such use case.

Read more

Using API Gateways to Facilitate Your transition from Monolith to Microservices

Daniel Bryant - An API Gateway is a proxy deployed at your edge, and is frequently used to faciliate a migration from monolith to microservices.

Read more

Tutorials on Using Envoy

Envoy has a highly sophisticated configuration system. For basic configuration, Envoy supports static configuration via YAML files. For more advanced configuration, Envoy has a set of gRPC-based APIs. These tutorials walk through the basics of configuring Envoy.

Getting started with Envoy Proxy for microservices resilience

A basic introduction to using the Envoy Proxy and configuring it.

Read more

Deploying Envoy with a Python Flask webapp and Kubernetes

Deploy a real application using Kubernetes, Postgres, Flask, and Envoy

Read more

Deploying Envoy as an API Gateway for Microservices

Learn how you can deploy Envoy as an edge service in Kubernetes

Read more

Service Mesh

A service mesh is a transparent layer that adds resilience, observability, and security to your service-to-service communication. Example service meshes include Istio and Linkerd. Istio is closely associated with Envoy because Istio relies on Envoy to do the actual Layer 7 traffic management. Istio itself is a control plane for a fleet of Envoy Proxies that are deployed next to your microservices.

What is a service mesh and do I need one when developing microservices?

Daniel Bryant - this talk from MicroXchg covers what service meshes are, why they're well-suited for microservice deployments, and how to use a service mesh when you're deploying microservices

Watch now

Service mesh data plane vs. control plane

Matt Klein - As the idea of the "service mesh" has become increasingly popular over the last two years and as the number of entrants into the space has swelled

Read more

The Mechanics of Deploying Envoy at Lyft

Matt Klein - This talk covers the logistical details of how Envoy was developed and deployed icnrementally at Lyft, focusing primarily on the evolution of service mesh configuration management.

Learn More

Additional Links

Envoy Proxy blog

The official Envoy blog, with articles on Envoy and its architecture.

Learn more

Ambassador API Gateway

Ambassador is an open source, Kubernetes-native API Gateway built on the Envoy Proxy.

Learn more

Envoy Proxy GitHub

The official Envoy GitHub repository. Envoy APIs are defined in the data-plane-api repository; while the code is in the envoy repository.

Learn more

Istio

Istio is a service mesh built on the Envoy Proxy.

Learn more