1. 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.