Docker is still around and likely doing better – at last in financial terms — than during its early hype cycle that kicked off the container revolution (only to then be eclipsed by Kubernetes and its ecosystem). Today, the company announced the first technical preview of its WebAssembly (Wasm) support.
Browser vendors pioneered Wasm to run web apps at native speeds, with code compiled from C, C++, Rust and other languages and run in a secure sandbox. Currently, you can compile about 40 languages to Wasm. But similar to how node.js brought JavaScript to the server, Wasm is now also migrating to the backend. Cloudflare supports it in its edge computing service, for example.
We’re also starting to see some funding rounds in this space as VCs start waking up to the potential, with Cosmonic today announcing a $9 million funding round for its Wasm PaaS, for example. Fermyon announced a $20 million Series A round earlier this month. Docker clearly wants to be an early player in this space, too.
The company notes that this is still very much a technical preview and that things will likely break. In this case, the Docker Engine uses the same containerd container runtime as the rest of the Docker ecosystem, but instead of using runc to run the container processes, it uses the wasmedge runtime. While Docker doesn’t go into details here, the promise of wasmedge is that it offers significantly faster startup times compared to Linux containers and that WasmEdge apps are significantly smaller (and run faster).
“We see Wasm as a complementary technology to Linux containers where developers can choose which technology they use (or both!) depending on the use case,” Docker’s Michael Irwin writes in today’s announcement. “And as the community explores what’s possible with Wasm, we want to help make Wasm applications easier to develop, build, and run using the experience and tools you know and love.”
In addition to the product news, Docker also today announced that it will be joining the Bytecode Alliance, the non-profit behind WebAssembly and the WebAssembly System Interface that makes these new projects possible, as a voting member.