Un proxy nato in Lyft
Envoy è stato sviluppato internamente a Lyft a partire dal 2015 da Matt Klein per gestire lo scaling dell’infrastruttura microservices dell’azienda. Rilasciato come open source nel settembre 2016, la versione 1.0 arriva nel settembre 2017, contemporaneamente all’ingresso nel CNCF Incubating. Graduated nel 2018. Licenza Apache 2.0.
Caratteristiche tecniche
Envoy è un proxy L4/L7 in C++14, progettato per ambienti cloud-native:
- HTTP/1.1, HTTP/2, HTTP/3 (QUIC), gRPC, TCP, WebSocket, Redis, MySQL, PostgreSQL proxy
- Observability nativa — metriche Prometheus, tracing Jaeger/Zipkin, structured logs
- Dynamic configuration via xDS API (CDS, LDS, RDS, EDS, SDS) — il control plane può aggiornare Envoy senza restart
- mTLS automatico, retries, circuit breakers, timeouts, rate limiting, outlier detection
- Load balancing avanzato: round robin, least request, ring hash, maglev
Come data plane
Envoy è il data plane di riferimento di:
- Istio — control plane per K8s
- Linkerd (v1) — poi sostituito da Linkerd2-proxy in Rust
- AWS App Mesh
- Google Cloud Traffic Director
- Kong Mesh, Consul Connect, Kuma
- Gloo Gateway, Contour — come ingress controller
Front proxy e ingress
Al di fuori del service mesh, Envoy è usato come:
- Front proxy (L7 load balancer)
- API Gateway (via progetti derivati come Emissary, Gloo)
- Ingress controller Kubernetes (Contour)
- Edge proxy (base tecnologica di servizi come Stripe, Apple, Pinterest, Slack)
Nel contesto italiano
Envoy è adottato in Italia via Istio e via servizi cloud gestiti che lo incorporano. Raramente è usato direttamente dai team applicativi; è più comune come componente di piattaforme (OpenShift Service Mesh, GKE, EKS).
Riferimenti: Envoy Proxy 1.0 (settembre 2017). Lyft, Matt Klein. CNCF Incubating (settembre 2017) → Graduated (novembre 2018). Licenza Apache 2.0. xDS API. Data plane di Istio, AWS App Mesh, Kong Mesh.
