the tweet is from 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 :)
However, I'm genuinely interested - why would this make Kubernetes obsolete? If Wasm rules the future, as you believe, why shouldn't it run in a pod?
What do you mean when you say "scaling on the level of a function"?
Do you mean any "plain old" function or a specific REST endpoint like AWS Lambda?
If you could just throw distributed computing resources at any function that is a bottleneck in your code, that would be alien tech.
Going from coarse-grained compute to fine-grained compute. The finer grain you have, the more "composability" and "flexibility" you get.
At some point you become so fine-grain that all you have are just lambdas floating in the cloud. And universal pointers to data floating in the cloud. Wire them up and everything scales automatically.
Back when I was working on this sort of stuff, there was an intermediate development between containers and wasm, that being of library OS like mirage OS, unikernels... Etc. I think wasm has probably better positioning compared to those unikernels.
[0]: https://survey.stackoverflow.co/2022/#most-popular-technolog...
Don’t get me wrong though, I have tons of admiration for Docker and Kubernetes (in fact, Solomon Hykes is an investor in Wasmer) and the great ergonomics you introduced along the way to help developers and reach the current status quo. Without you guys probably we would have reached the cloud advancements much later in time. However, we paid those advances with an order of magnitude greater complexity (with the likes of cloud providers profiting from it).
However, I sincerely believe we need more powerful abstractions for the edge, serverless and Web 3.
In any case, I’m incredibly excited that you are researching more into WebAssembly. That’s great for the ecosystem and also will help to bring more devs onboard. Thanks for all the work!
Without wasm, the unit of containerization for them is operating system process. Each process spins up a jvm that runs your app/backend API.
With wasm, the unit of containerization is the exact functions of your backend API. So they can fit more "containers" on a single machine, compared to docker. And that brings faster startups etc..
It is to containers what containers were to VMs?
If so, they need diagrams making that argument same way we all saw for containers vs VMs.
The only risk is if splitting the effort damages them in both fields...
However, I see Docker (and thus, Kubernetes) is as technologies of the past (I don’t intend to start any flamewar, I really believe this by heart). Metal compute lead (Web 1.0) to VMs which then lead to Containers (Web 2.0) and now we are seeing what the next wave will look like thanks to WebAssembly.
Of course, there’s ton of profit that we have been generating thanks to the added complexity of current technologies and abstractions.
We have now the opportunity to rethink what the future will look like. Long live Wasm