There has been a lot of interest in using WebAssembly outside of the browser, especially for blockchain (as a smart contracts engine), and cloud, where the secure and lightweight nature of the runtime makes it ideal for serverless / edge computing. However, WebAssembly itself lacks any form of system integration (filesystem, I/O, resources) which means each one of these ‘out of browser’ applications has to create the interface from scratch. That is until now! WASI is a standard system interface, which will make it much easier to develop these novel applications.
Laurie Voss, co-founder and ‘Chief Data Officer’ at npm, has a lot of data at his fingertips. I this talk Laurie dives into the 1000s of WebAssembly packages on npm to see what we, the community, are building.
With WASI we have a standard system interface, and with Lucet, we have an implementation! Fastly are a CDN / edge computing company who have been exploring the use of WebAssembly as a fast and secure VM for your code. They have taken Cranelift, the FireFox WebAssembly JIT compiler, and added the WASI interfaces, with the code ready for you to use on GitHub.
And Finally …
With the announcement of WASI, the Docker co-founder announced that “If WASM+WASI existed in 2008, we wouldn’t have needed to created Docker.” - Wow!