Comment by wmf
Comment by wmf 14 hours ago
wasm outside the browser for compile-once-run-anywhere usecases with sandboxing / security guarantees
Please just use Docker in a microVM or whatever. It's 0% slower and 100% more mature.
Comment by wmf 14 hours ago
wasm outside the browser for compile-once-run-anywhere usecases with sandboxing / security guarantees
Please just use Docker in a microVM or whatever. It's 0% slower and 100% more mature.
yeah, I mostly see it competing with Lua and small function execution in a safe sandbox (e.g. similar scope as eBPF). and maybe for locking down problematic stuff that isn't ultra performance sensitive, like many drivers.
so agreed, plugins. in games or in the kernel.
Please just use a custom FPGA hand-coded to the exact specifications of the program. It's even less than 0% slower than Docker in a microVM, and unlike Docker, it at least provides one of the two benefits that you quoted from the parent comment. Good thing we already changed the parameters of what they said they're looking for!
But way more difficult and with a much higher attack surface area.
And also, it's not necessarily apples to apples. It would be nice to be able to drop a compiled WASM module into your codebase and use it from just about any language on the backend. You could reuse a lot of code that way across different services without the overhead of spinning up yet another container. And you could potentially even run untrusted code in a sandboxed way.
Getting an end user to set up and run docker to run an app is a non starter for most things.
not only is this a completely different use case, it's not even true:
https://stackoverflow.com/questions/60840320/docker-50-perfo...
tl/dr: libseccomp version used in combination with docker's default seccomp profile.
More discussion here https://github.com/moby/moby/issues/41389
> Please just use Docker in a microVM or whatever. It's 0% slower and 100% more mature.
Wasm has different characteristics than docker containers and as a result can target different use cases and situations. For example, Imagine needing plugins for game mods or an actor system, where you need hundreds of them or thousands, with low latency startup times and low memory footprints and low overheads. This is something you can do sanely with wasm but not with containers. So containers are great for lots of things but not every conceivable thing, there’s still a place for wasm.