18 ms·
Why would WASM obsolete containers?
by FooBarWidget 5y ago
Why would WASM obsolete containers?
- pjmlp 5y agoBecause new generation startups are on the verge of selling WASM Application Servers....
- boomskats 5y agoHey, I didn't say I agreed with that statement - I was just pointing out what I thought they were trying to say.
- ledgerdev 5y agoOf course containers will be around probably forever, just as we still have mainframes. Note that current serverless and container platforms start and manage long running instances and occasionally incur cold starts. WASM has near instant startup, making a cold start for each request feasible. I think this could be a key property/advantage that makes it preferable and more economically efficient in the long run. WASM I think has a stronger sandbox as well. Containers in a multi-tenant environment need to run inside a virtual machine. WASM can be run in multi-tenant without the need to isolate each tenant in a virtual machine, again making it more efficient in long run. edit: also recalled a relevant tweet from creator of docker https://twitter.com/solomonstre/status/1111004913222324225 https://twitter.com/solomonstre/status/1111004913222324225
- FooBarWidget 5y agoHow can WASM start faster than actually native executables?
- ledgerdev 5y agocontainers != native exe. WASM can start faster than containers, not exe.
- FooBarWidget 5y agoWait a minute... we've had virtual machines (in the programming language sense) in like forever. JVM, BEAM, CRL, etc. None of them made containers obsolete. People package Java inside containers even though Java has had non-Linux-container ways to package things in like forever — because people like the tooling surrounding Linux containers. WASM just replaces JVM/BEAM/CLR/etc with its own virtual machine. It doesn't address all the stuff that container orchestration tools address such as lifecycle management, update management, artifact management, autoscaling, networking, management access control, logging & metrics, etc. If you want to start faster than containers, you already can — by not using containers. So given all this above, how is "starts faster than containers" an advantage? And containers are not exactly slow to start. `time docker run -ti --rm ubuntu:20.04 true` => 0.5s. I suppose that's too slow for serverless cold start, but if you really care about that then the startup time of Ruby, Python, Node.js etc with all the packaged dependencies are also in that order.
- ledgerdev 5y ago> It doesn't address all the stuff that container orchestration tools address such as lifecycle management, update management, artifact management, autoscaling, networking, management access control, logging & metrics, etc. Absolutely agree, it's just a core technology, which enables new model of operation, on which all that is necessary to run. Right now there is almost nothing. > If you want to start faster than containers, you already can — by not using containers. Only if don't care about security/isolation. WASM is strongly sandboxed. It's appropriate for multi-tenant systems, where containers/jvm/etc have to be run inside of virtual machines(e.g. firecracker) to get acceptable isolation. > I suppose that's too slow for serverless cold start Yep, half a second is way too slow for new instance per request. I think wasm startup time around 35 μs for lucet.