Beyond Wasm: How Dynamic Modules Let You Extend Envoy Proxy in Go, Rust, or…
summary
Dynamic Modules let Envoy load shared libraries with a C ABI so extensions run in-process from Go, Rust, or any language, avoiding WASM sandboxing or C++ forks. Databricks replaces a Scala sidecar and reports 80% tail latency reduction and 3x throughput, while a Rust DNS resolver (hickory) yields ~3× QPS vs envoy’s cs by offloading work to Tokio and freeing ~96% dispatcher CPU. A Rust transport socket enables KTLS with ~25–30% CPU savings.
AI-written summary · about
chapters (9)
- 0:00Dynamic modules in Envoy
- 1:02Why dynamic modules
- 3:14Envoy extension methods
- 9:19How dynamic modules work
- 13:52Data bricks case study
- 16:21DNS resolver in Rust
- 20:36Kernel TLS via modules
- 22:01Dynamic modules roadmap
- 22:45Q&A
related talks
05mExtending Envoy With WebAssembly
20mBringing the power of Envoy extensibility to Go and Rust developers
32mExtending Envoy Using WebAssembly (Wasm)
37mExtending Envoy with WebAssembly
30mBuilding idiomatic Envoy SDKs for Rust and Go
34mEnvoy, Filters and WebAssembly for Everyone!
52mEnable all your infrastructure’s power with Rust & Wasm
09mLightning Talk: WAMR, Intel
