Doing Server Side WebAssembly the Hard Way
Talkat WasmCon 2023 · on Thursday, 2023-09-07· at 15:30· Grand Ballroom E, Hyatt Regency Bellevue, 900 Bellevue Way NE·
summary
NGINX Unit hooks Wasmtime into the HTTP path and finds raw byte streams easy but metadata hard: initial CGI-style prototype runs but segfaults when C-compiled modules and Wasmtime both grow memory. Fixes include stack/heap separation and forcing Wasmtime to initialize memory so modules use a 32MB buffer for request/response passing; large uploads stream through that window. A Rust SDK replaces unsafe C toolchains, a demo adds JSON numbers successfully, and future work targets WASI HTTP for standardized server-side metadata.
AI-written summary · about
chapters (11)
- 0:00Graphical web and WebAssembly
- 3:31Mosaic to modern web apps
- 7:48Web app backend evolution
- 12:36Why server-side WASM
- 14:02NGINX Unit runtime
- 17:15WebAssembly in Unit design
- 18:43Early WASM struggles
- 22:55Rust SDK for devs
- 24:05Live WASM demo in Unit
- 34:18Portable WASM benefits
- 35:23Future plans
related talks
07mIGNITE: Serving Server-Side WASM with Web Awareness with
55mUsing WebAssembly to run, extend, and secure your .NET application
47mRewrite the web with Rust and Web Assembly
27mHow WebAssembly is changing the Web and what it means for you
32mBringing WebAssembly outside the web with WASI
53mWASM Wonders Decoding WebAssembly's Inner Workings
35mWebAssembly beyond the browser
24mReaching the Unix Philosophy's Logical Extreme with Webassembly
