Understanding Envoy
Envoy is a powerful L7 proxy designed for scalable modernized architectures.
Understanding Envoy Filters
Envoy filters are powerful components that allow you to customize Envoy Proxy’s behavior. You can use built-in filters or develop custom ones that operate at the L4 (Network) or L7 (HTTP) layers of the OSI model. As requests pass through Envoy, filters can modify them before they reach their destination.
Common use cases include:
- Altering headers
- Authenticating requests
- Adding span traces for observability
- Redirecting or terminating requests
For a full list of available built in HTTP filters, check the documentation.
Working with Envoy Filters
Before implementing Envoy filters, consider whether you’re working with Envoy directly or through a service mesh. Since Envoy powers many service mesh solutions, implementation details may vary across providers. For example, Istio provides a Kubernetes Custom Resource Definition (CRD) called EnvoyFilter. This uses a patching strategy similar to Kustomize, which can be tricky to configure.
Understanding these differences will help ensure a smooth integration with your architecture.