Hacker News new | past | comments | ask | show | jobs | submit login

Docker enabled Kubernetes. Before then we really didn't have a unit of compute that could be reproduce easily in different environments.

However, Docker has some downsides:

(1) It centers the unit of computation in the Operating System layer

(2) Docker relies on a completely homogeneous infrastructure (same chipset, almost same Operating System).

(3) It relies on a Virtualization layer (usually KVM) to be run securely

I believe (1) caused a vast amount of complexity when scaling, since you are scaling "OS Instances", not applications or functions, which caused Kubernetes to inherit most of this issues and be perhaps much more complex than it should.

I think (2) is key because with new trends coming up (such as Edge Computing, Serverless, IoT and 5G) we are starting to have the need of running software universally across a more diverse infrastructure (different chipsets).

And (1) and (3) causes a significant slow-down for startup times (see Firecracker state of the art project with a ~250ms best startup time - not good enough).

I believe most of this issues are solved with WebAssembly: simpler scaling, universal execution across diverse infrastructure and fast startup times. And I'm actually working full-time in Wasmer [1] to make of this vision a reality! :)

[1] https://wasmer.io/




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: