WebAssembly (Wasm) is the future of cloud-native infrastructure extensibility. Wasm provides a safe, secure, and dynamic way of extending infrastructure with the programming language of your choice. While feature-rich service meshes like Istio provide many features to help solve problems related to microservice communication, your organization might need custom solutions that are tailored specifically to your production environment, corporate policies, or other development constraints. Gloo Mesh Enterprise packages all of the tooling that you need to develop, publish, and deploy Wasm extensions to meet your unique service mesh requirements.
With the Gloo Mesh Enterprise CLI, you can initialize, build, and push proprietary Wasm filters. Choose your preferred
programming language and
meshctl generates all the source code that you need to get started implementing custom mesh behavior. To publish your work, use the
push commands. These commands compile and publish your Wasm module and to
webassemblyhub.io or the OCI registry of your choice.
To add your new Wasm filter to the service mesh, all you need is a
WasmDeployment Kubernetes custom resource. Specify which
Workload resources to configure with the Wasm filters, and then Gloo Mesh handles the rest. A Gloo Mesh Enterprise
extension server watches for Wasm deployments and manages the lifecycle of all your Wasm filters accordingly.
Supported programming languages
You can get Wasm starter kits in the following programming languages.
The Wasm module is included in your basic Gloo Mesh Enterprise license. However, you must install the
meshctl wasm plug-in separately from installing
Benefits of Gloo Mesh Wasm Module
Solo has driven development and provided support for Wasm filters in Envoy and Istio environments since early 2020, with the
WasmDeployment custom resource. With the release of Istio 1.12 in late 2021, users also have the option to install the
WasmPlugin community custom resource. To help you decide which method is right for you, consider the following benefits of the Gloo Mesh Wasm module.
|Benefit||Community Wasm plug-in||Gloo Mesh Wasm|
|Portable binary instruction format for programming languages to extend web and server-side apps||✅||✅|
|Embeddable and safe execution environment for Kubernetes, Envoy Proxy, and Istio||✅||✅|
|Developer templates to get started quickly||✅||✅|
|Tight integration with WebAssembly Hub for easy discovery and sharing||❌||✅|
|CLI tooling to simplify building and pushing images||❌||✅|
|Deploy to just one management cluster for consistent configuration and easy management across clusters||❌||✅|
|Stabler offering under development longer||❌||✅|
|Support for Istio versions earlier than 1.12||❌||✅|
More resources for Wasm
Review steps to make Wasm filters and use the
meshctl wasm plug-in to build and push your Wasm images to WebAssembly Hub.
Read articles about Solo's support for Wasm, including an overview of the Istio
WasmPlugin resource and introduction to WebAssembly Hub.