Rust-generated WebAssembly, bridging the language gap of API Gateways

By Nicolas Frankel

Elevator Pitch

Learn how WebAssembly solves API Gateway’s business logic problem Write in any language and compile it to WebAssembly. Rust plugin demo included

Description

WebAssembly has been gaining significant attention in the tech industry as the newest implementation of the “Write Once, Run Everywhere” idea, which was popularized by Java. It can run on both browsers and Docker. API Gateways face a unique problem in terms of executing business logic. Unlike reverse proxies that just needs to be configured declaratively, API Gateways need to run business logic, which raises questions about which language to use. For example, Lua is a first-class citizen in Apache APISIX, an API Gateway based on OpenResty. Developers who are not familiar with Lua can use other languages such as Java and Python, but face associated issues, such as scalability due to socket communication.

This talk explores how WebAssembly can solve this problems. With WebAssembly, developers can write business logic in the language they know and compile it to WebAssembly. It’s a direction that the industry is taking, and the demo will showcase how to write a Rust plugin for Apache APISIX and integrate it with WebAssembly.