This has huge implications for startup and shutdown times, for scaling, and for common security vectors. WebAssembly is already being used by well-known organizations and platforms like FASLI, SecondState, CloudFlare, WASM Cloud, Fermion, Vercel, and the Cloud Native Computing Foundation. It is also utilized in blockchain for writing smart contracts and in embedded contexts like gaming with Flight Simulator. WebAssembly continues to evolve with upcoming features such as a component model, neural network capabilities, garbage collection, and multithreading. Docker is also embracing WebAssembly with a beta for running Docker with WebAssembly modules using the Wasm Edge runtime.
This has huge implications for startup and shutdown times, for scaling, and for common security vectors, like I said. Some more reading here. Again, I'll link the slides.
So then the question becomes, is WASM production ready? And it is a relatively new and still work in progress runtime, but it's already being used by folks you might already know. For example, in the Functions in the Service, or I just like to say FOSS, world, you'll see folks like FASLI. DNO is a WebAssembly runtime. You've got SecondState and CloudFlare providing ways for you to write code that runs in WebAssembly. But it's also great for edge computing and microservices. You got folks like WASM Cloud, Fermion, Vercel, and Cloud Native Computing Foundation providing these services to customers already. It also makes your software as a service extensible. So you can write plugins for Figma or Istio, or Shopify, again, in any programming language, in a sandbox that runs in WebAssembly.
Now I have to admit, I don't know much about blockchain, but I know folks like Parity are providing ways so that you can write, what do they call it? Oh, smart contracts in WebAssembly, which gives them that sandbox and ephemeral capability. But hey, folks like Acre let you run your WebAssembly modules in embedded context. There's a lot of ways it's already being used, and hey, any gamers in the crowd, Flight Simulator lets you run, lets you write plugins for it in WebAssembly. So there's a ton of ways this is already being used. More links to read up on.
And yes, I did say that this is a work in progress because there's a bunch of stuff coming to WebAssembly like a component model, making these modules a lot more interconnectable and smaller. Neural network capabilities built into WebAssembly. Garbage collection and multithreading. There's a whole bunch of stuff that I highly recommend keeping an eye out for. And you know how I mentioned Docker? Well, first, let me show you a tweet from the next day from Solomon. Remember, 2019. So will Wasm replace Docker? No. But imagine a future where Docker runs Linux containers, Windows containers, and Wasm containers side by side. Over time, Wasm might become the most popular container type. Docker will love them all equally and run it all. And here's the thing. Last year, Docker announced this. So now we have a beta for running Docker with WebAssembly modules. The way it looks is you've got your container D, where you can have your containers as you would normally, but you also, using the Wasm Edge runtime, have WebAssembly modules running in your containers.
Comments