Skip to content

What is Envoy

Key idea:

Envoy — high-performance L7 proxy, originally from Lyft (2016), CNCF graduated. Backbone of most popular service mesh implementations (Istio, AWS App Mesh, Consul Connect). C++ rewrite of all the best ideas from nginx/HAProxy. Features: HTTP/2, gRPC, WebSocket, advanced routing, circuit breakers, observability. Configuration via YAML + xDS API for dynamic config.

Below: details, example, related terms, FAQ.

Details

  • Listeners: accept connections on a port
  • Filters: chain handlers (HTTP filter, network filter)
  • Clusters: groups of upstream servers
  • xDS API: dynamic config (CDS, LDS, RDS, EDS) over gRPC
  • Admin API: :9901 for stats, config dump, health

Example

# Envoy listener config
listeners:
- address:
    socket_address: { address: 0.0.0.0, port_value: 80 }
  filter_chains:
  - filters:
    - name: envoy.filters.network.http_connection_manager
      typed_config:
        stat_prefix: ingress_http
        route_config:
          name: local_route
          virtual_hosts:
          - name: backend
            domains: ["*"]
            routes:
            - match: { prefix: "/" }
              route: { cluster: service_backend }

Related Terms

Learn more

Frequently Asked Questions

Envoy vs nginx?

nginx: battle-tested, simple config, strong static file serving. Envoy: better for microservices (gRPC, dynamic config, mesh-ready).

Standalone Envoy — use case?

Front proxy / API gateway (replaces nginx + HAProxy). Or edge proxy for Kubernetes ingress.

Configuration — complex?

Yes. Envoy YAML verbose. In service mesh deploys, config is auto-generated by control plane.