Hacker News new | ask | show | jobs
by scprodigy 3511 days ago
What overhead?
1 comments

The benefit of a container over a full VM is meant to be that the container scheme has just one kernel running.

This scheme would effectively be just one container per VM, thus negating the benefit.

(Edit: So.. it would appear that the benefit is that they're read-only-sharing the kernel between VMs)

That is the traditional thinking indeed, but not all VMs are born equal. Check out the underlying tech here: https://docs.hypercontainer.io/
In terms of a public cloud service, you (customer) don't care. You pay for the amount of memory you used, whether there is one kernel, or many of them, is irrelevant.
It is absolutely relevant: If your container is running its own kernel, then it is consuming memory for that kernel, not to mention the CPU overhead of the hosted kernel. Additionally, every container must also boot a complete OS. More overhead. This is why traditional containers use a shared kernel with process group isolation. You pay for what you use. A traditional container only uses what it needs for the app itself, and it starts in a fraction of the time because it doesn't have to boot anything. Performance and cost may be acceptable regardless, but that's not the point. Containers are more efficient.

Based upon responses from Hyper, they appear to address these concerns in a manner I have never heard before. I will certainly be looking into their core technology.

The value proposition of Hyper is that the overhead of guest kernel is greatly reduced to the point of being insignificant if you run any significant apps inside HyperContainers, meanwhile you gain the benefit of kernel isolation and ditching VM cluster management altogether.
They dont boot a "complete OS", they boot the kernel and a process - that is it, not your systemd which brings in Firefox kind of "complete OS".
But you don't own the server, thus you don't pay for the overhead (if any).
I'm sorry, but you don't know what you are talking about. You pay for what you use. I don't own Amazon's servers either, but I pay for every bit of memory and CPU time that my EC2 instances use, and that includes the memory and CPU time consumed by my instance's kernel.
Ok, I'm a bit lost too. So, your question is the memory consumed by the VM kernel? The tradeoff is the ops overhead to manage the VM instance.