why do we need Istio WASM plugin ?
To understand the reason first let us understand what is WASM. So WebAssembly(WASM) is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++, C#, and Rust with a compilation target so that they can run in many different environments, including behind Envoy’s Application Binary Interface to extend Envoy with new capabilities. WASM programs are distributed in an efficient portable binary instruction format and embedded into isolated execution environments.
Now let’s get the answer to your question. So Istio provides the ability to extend proxy functionality using WebAssembly (WASM). One of the key advantages of Wasm extensibility is that extensions can be loaded dynamically at runtime. But first, these extensions must be distributed to the proxy. So we need an Istio WASM plugin.