Envoy es un proxy de servicio L3/L4 y L7 de código abierto, escrito en C++, diseñado para ser un componente de red de alto rendimiento y bajo nivel de latencia. Su arquitectura está pensada para ser altamente extensible y programable, permitiendo la gestión del tráfico, la observabilidad, la seguridad y la resiliencia en entornos distribuidos. Se posiciona como un 'universal data plane' porque puede ser desplegado como un proxy de borde (edge proxy), un proxy de lado (sidecar proxy) en un Service Mesh, o un proxy de front-end para cualquier aplicación, independientemente del lenguaje de programación o framework.
En el mundo real, Envoy es un componente central en muchas arquitecturas de microservicios y Service Meshes. Es el proxy de datos subyacente en implementaciones populares de Service Mesh como Istio y Linkerd (a partir de la versión 2.x). También es utilizado directamente por empresas como Lyft (sus creadores originales), Google, y Apple para gestionar el tráfico entre sus servicios internos y externos. Además, se usa comúnmente como un API Gateway o un Ingress Controller en clústeres de Kubernetes, proporcionando funcionalidades avanzadas de enrutamiento, balanceo de carga y terminación TLS.
Para un Arquitecto de Sistemas, Envoy es crucial porque ofrece una solución robusta y estandarizada para los desafíos de la red en sistemas distribuidos. Permite externalizar la lógica de red (retries, timeouts, circuit breaking, rate limiting, observabilidad) de las aplicaciones, simplificando el desarrollo y mejorando la resiliencia. La elección de Envoy implica adoptar un componente de infraestructura potente pero con una curva de aprendizaje. Los trade-offs incluyen la complejidad operativa de gestionar un Service Mesh basado en Envoy versus la simplicidad de una red más tradicional, pero con ganancias significativas en control, seguridad y visibilidad del tráfico. Su extensibilidad mediante filtros y APIs lo convierte en una herramienta estratégica para construir plataformas de red personalizadas y escalables.