The WebAssembly Component Model hit 1.0 in February 2026 and the ecosystem moved fast. Fastly, Cloudflare, AWS Lambda, and Fermyon all shipped runtimes that consume the same `.wasm` artifact. For the first time, a serverless function written in Rust, Go, or Python can ship to four major clouds with no rewrite.
This isn't theoretical. We rebuilt a webhook processing service in Rust, compiled to a component, and deployed it simultaneously to Cloudflare Workers, AWS Lambda, and a self-hosted Fermyon cluster. Same artifact, three regions, identical behaviour. The portability story container orchestration promised in 2017 has finally arrived for stateless functions.
The cold-start numbers are what made it real for us. A 4MB Wasm component starts in roughly 5ms across all three runtimes — an order of magnitude faster than a Node.js Lambda, and competitive with a warm V8 isolate.
The limitations are real and worth naming. The component ecosystem outside Rust is still maturing — Python and JS components work but have larger artifacts and slower starts. Database drivers compiled to Wasm are a year behind their native counterparts. WASI Preview 2 covers most networking and filesystem needs but socket-level work still requires escape hatches.
For new serverless work in 2026, the right default is no longer 'pick the cloud's native runtime.' It's 'compile to a component and pick the cloud later.' Lock-in just became optional.