Happy New Year, Happy New Decade everyone!
(And yes, I know some say that the new decade doesn't start until 2021, but we're ignoring that right now :) )
We're excited to kick off with a new Meetup hosted by Mathworks in Natick, who will also be sponsoring food and beverages. Thank you Mathworks!
6:00pm - 6:30pm - Eat, Drink, Mingle
6:30pm - 6:35pm - Intro by the organizers and sponsors
6:35pm - 7:15pm - Be Kind - fast, ephemeral, & reproducible Kubernetes builds - Shashank Gowdagiri - MathWorks
7:20pm - 8:00pm - How to Extend Envoy Proxy - Developing Custom Filters with WebAssembly - Scott Weiss & Yuval Kohavi - Solo.io
8:00pm - 8:15pm - Discussion and Q&A
Be Kind - fast, ephemeral, & reproducible Kubernetes builds
How to Extend Envoy Proxy - Developing Custom Filters with WebAssembly
Envoy Proxy is the go to cloud-native proxy for many reasons; chief among which are it’s speed, and extensibility. Envoy Proxy’s extensibility comes in the form of filters. Until recently, these filters were exclusively written in C++ only and compiled directly into an Envoy Proxy instance.
This approach comes with a few drawbacks including:
- Limits the filter development only to developers who know C++
- Requires shipping and maintaining a different, extended version of Envoy Proxy
Enter WebAssembly or WASM, a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications. Wasm support in Envoy Proxy aims to solve these issues by allowing developers to write filters in any language, precompile the filters into WASM and then run in a WASM vm inside of Envoy Proxy.
This talk will go over the basics of writing envoy filters in multiple languages (CPP, Rust, and TinyGo), shipping them, then using them. If you are interested in envoy development, but not quite ready to take the plunge into CPP, this might be the perfect time to get your feet wet writing envoy filters.
Yuval Kohavi is the chief architect at Solo.io working across the portfolio of commercial products and open source projects including Gloo Gateway, Service Mesh Hub, SuperGloo, GlooShot, and Squash. Prior to Solo.io Yuval held various software and customer engineering roles at EMC, Intigua and IDF.
Scott Weiss is a principal software engineer at Solo.io building projects like Gloo, a function level API gateway built on Envoy Proxy and SuperGloo, a service mesh orchestrator. Prior to Solo.io, Scott held various engineering roles at RedHat, EMC and Sonos. He contributes regularly to open source projects like Knative, Kubernetes, Envoy, Cloud Foundry and Openshift.