Envoy es una herramienta, como ellos mismos describen, que sirve de proxy para aplicaciones cloud-native.
La existencia de Envoy en realidad se enfoca en los problemas que aparecen en arquitecturas distribuidas: networking y observabilidad. Esto puesto que cuando los equipos se mueven de aplicaciones monolíticas hacia este tipo de arquitecturas no consideran los retos relacionados a estos temas y el como lograr debugging.
Envoy considera la experiencia y características de otros proyectos como Nginx, HAProxy, hardware para balancear carga y balanceadores para la nube. A partir de esto ofrece características que son agnósticas a la plataforma abstrayendo los retos.
Instalar Envoy
La instalación se puede llevar a cabo en múltiples formas:
- Imágenes de Docker
- Brew en Mac OSX
- Windows
- [Unix/Linux] (https://www.envoyproxy.io/docs/envoy/latest/start/install#install-envoy-on-debian-gnu-linux)
Configuración
Una vez instalado en la plataforma, la configuración de Envoy dependerá del caso de uso que se le quiera dar.
- Service to Service
- Service to service plus front proxy
- Service to service, front proxy, and double proxy
En el modelo de Envoy es interesante como se describe el ciclo de vida de un request, dependiendo de la topología de la solución adoptada. El entender como fluye el request nos ayudará a comprender que caso de uso aplica mejor a la instalación que querramos darle.