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. Licenza Apache 2.0.
Caratteristiche tecniche
Envoy è un proxy L4/L7 in C++14, progettato per ambienti cloud-native:
- HTTP/1.1, HTTP/2, 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 si candida a diventare data plane di riferimento di:
- Istio — control plane per K8s (nato nel 2017 su Envoy)
- Linkerd (v1)
- AWS App Mesh
- 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 inizia a diffondersi in Italia via Istio e via servizi cloud gestiti che lo incorporano. L’uso diretto dai team applicativi è raro; è 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). Licenza Apache 2.0. xDS API.