
Workshop: 1 day
Edge Computing with WebAssembly
Workshop description
Your backend services are working, but they're not thriving. Docker containers feel heavy, cold starts are slow, and your cloud bill keeps climbing. Security concerns keep you up at night, all while you’re fighting the spaghetti-stack to deliver features on a tight deadline. You've heard WebAssembly is the future, but it seems confined to browsers - can it solve your server-side problems?
Yes it can! WebAssembly is starting to power anything from safety-critical embedded applications to large-scale web services. Employed correctly it gives you microsecond cold boot times, reliable sandboxing, safe user extensibility, and much more.
In this hands-on workshop you will learn how to build such an efficient, portable, and secure server-side applications using Rust and WebAssembly. We’ll cover everything from foundational concepts to cutting edge features and by the end, you’ll have built a microservice in Rust, compiled it to WebAssembly, and deployed it using cutting-edge tooling. You’ll understand when this approach outshines containers, where the technology is headed, and how to incorporate these techniques into your existing infrastructure.
Getting Started with WebAssembly
We introduce the core concepts by building a WebAssembly HTTP handler in Rust from setup to deployment. You’ll create your first modules, examine raw WebAssembly binaries, and explore the surrounding standards and tooling, while seeing how Rust compiles to WebAssembly.
Understanding Memory and the Component Model
After calling your first functions and confronting core WebAssembly's manual memory model, you'll transition to the Component Model, use WIT to enable automatic type marshaling, and finish by building a standalone WebAssembly CLI component.
Going Serverless
We expand the basic HTTP handler to explore different Wasm runtimes, deployment options, and common backend patterns in WebAssembly. You'll see why WebAssembly excels in serverless environments, learn its capability-based security model by explicitly granting outbound HTTP access, and build robust HTTP endpoints with proper error handling.
Data Persistence and Routing
You’ll add persistent state using a key–value store, upgrade to SQLite for safe and efficient data access, and implement both in-component routing with path parameters and multi-component routing within a larger architecture.
Debugging and Observability
No production application is complete without effective debugging and observability, so we explore debugging tools, performance profiling, and monitoring solutions. You’ll instrument your application with OpenTelemetry, examine metrics, traces, and logs using common observability stacks.
Optimizing WebAssembly
We will aggressively reduce WebAssembly binary sizes through optimization and post-processing. You'll understand how to profile and improve WebAssembly performance.
