Give super powers to your Go application with WebAssembly and Extism

What if you could make Rust, TinyGo, JavaScript, ... plugins for your Go applications?
And why not take advantage of recognized Frameworks such as Fiber or Gin to create microservices based on WebAssembly? It is already possible thanks to the Extism project.

Abstract

WebAssembly (WASM) promises to run code in the browser from a binary (coded in Rust, Go, C, ...) are fulfilled. Its qualities (speed, efficiency, security, polyglot) meant that WebAssembly could be run on a wide variety of platforms (other than the JavaScript VM) for many use cases, such as:

- Plugins for applications (for example, Zellij)
- Filters for proxies (for example, Envoy)
- User-defined functions for databases (for example, ScyllaDB)
- Functions for FaaS (for example, Fermyon Platform)

This is made possible by the WASI (WebAssembly System Interface) specification, which allows WASM code to be executed in various contexts. The execution of WASM modules by a Go application, with WASI runtimes SDKs, was until recently "acrobatic".

This gap is now filled by the Extism project, which allows writing WASM plugins in various languages for your Go (but not only) applications.

In this presentation, I will explain how to develop a Go http server with WASM plugins in TinyGo, Rust and JavaScript. The first steps to develop a FaaS.

Slides

Video

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2024 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS