Build a Smaller Envoy Binary Though Modular Compilation
Date: 2025-12-061. What issue with full build Envoy proxy
Full build of Envoy proxy has big binary file, around 200MD docker image. As a result it will take long time to spin up a new Pod in kubenetes when Envoy proxy is a sidecar.
This will be significant when there is a multiple microservice in the same chain that use it.
2. My solution
2.1 Initial solution
I created a new proxy, written in Rust. It's name if Griffin. You can read about this here
2.2 Secret solution
When I dug deeper, I discovered that Envoy already provide a mechanism for building a minimized version that strip down on unnecessary extensions and code path. This produces an significant smaller binary.
Github tutorial link: Enable or disable extension
This capacity comes from C++'s support for highly modular, compile-time configuration, alllowing projects like Envoy to include only the modules that they need.