Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is great. We’ve been chatting with Docker for a little bit (I’m Syrus, from Wasmer) and it’s great to see that they are making progress on improving the developer experience around WebAssembly.

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 (Web 1.0) lead to VMs which then lead to Containers (Web 2.0 / Cloud) and now we are seeing what the next wave will look like thanks to WebAssembly.

Of course, there’s ton of profit that has been generated 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



Long live Wasm indeed! Obviously we feel a bit differently about Docker and k8s being in the past — Docker is used by 68% of professional developers according to the latest SO survey[0], and k8s is still growing in popularity at 28%. But obviously the technology landscape changes rapidly, and maybe one day (we hope) Wasm will be at 28%, 68% or higher. We’re frankly just excited about the possibilities, and wanted to help along the way :)

[0]: https://survey.stackoverflow.co/2022/#most-popular-technolog...


Hi Tim. The stats logic will probably apply as well for gas car makers vs electric ones, or any field to that matter that might be at risk of disruption in a perceivable timeframe (but are not disrupted just yet).

Don’t get me wrong though, I have tons of admiration for Docker (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 in other layers (with the likes of cloud providers profiting from it).

But now 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!


Solomon Hykes, the father of Docker agrees: https://twitter.com/solomonstre/status/1111004913222324225?s...

the tweet is from 2019


Don’t forget this tweet from a day earlier, which he quotes:

> “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 :)


I don't know Syrus nor Wasmer :)

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?


Here are some of the thoughts behind my reasoning that I posted previously in HN. Hope the are insightful!

https://news.ycombinator.com/item?id=27158187

https://news.ycombinator.com/item?id=26271806


Even if you change the unit of computation in k8s from a container, that's only one problem that it solves. What about deployments, services, ingress, configmaps/secrets, jobs, volumes, etc. If you're going to create your own distributed system, all these concepts are going to exist in some form.


Thanks, this is interesting, but also very abstract.

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.


It means going in certain directions.

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.


So it's a satire?


Could you explain how WASM replaces containers? Let's say I have a backend API written in Java (spring boot). Containers basically solve two things, building and running the application. What does WASM solve here?


Wasm "solves" running your application in a shared environment. i.e not your machine but say a cloudflare machine, that has to run dozens of applications like yours.

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..


Wow. So moving "containerization" up the stack?

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.


Kind of. Cloudflare had a blogpost about this with diagrams and numbers and stuff: https://blog.cloudflare.com/cloud-computing-without-containe...


If the containers become old tech and docker poses itself as the new "wasm delivery and registry platform" it is a net win for them.

The only risk is if splitting the effort damages them in both fields...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: