←back to thread

169 points hunvreus | 3 comments | | HN request time: 0.685s | source
Show context
walrus01 ◴[] No.43654548[source]
> "Virtual machines are often seen as slow, expensive, bloated and outdated. "

By who, exactly? Citations needed

replies(2): >>43654687 #>>43654783 #
1. sofixa ◴[] No.43654783[source]
By almost everyone who has done a comparison.

VMs have a full OS that needs to be maintained (patched, upgraded when EOL, etc.).

Hypervisors traditionally cost a metric crapton of money per core. Yes, Proxmox is pretty good, but it's the exception, not the norm. They're also relatively slow in spinning up new VMs (kind of by definition, it takes a lot of time to emulate a full blown replica of hardware vs just starting a process in a cgroup/jail).

And most of all, VMs are just solving the wrong problem. You don't care about emulating hardware, you care about running some workload. Maybe it needs specific hardware or a virtual version of it, but more likely than not, it's a regular batch processor or API that can happily run in a container with almost none of the overhead of a full VM.

replies(1): >>43658486 #
2. tryauuum ◴[] No.43658486[source]
while you are correct in calling the VM startup slow compared to the container startup, reading "emulating hardware" burns my eyes

modern VMs don't emulate hardware. When a VM has a hard drive or a network device there's no sophisticated code to trick VM into believing that this is real hardware. Virtio drivers are about VM writing data in a memory area and assuming it's written to the disk / sent to the network (because in the background hypervisor reads the same memory area and does the job)

replies(1): >>43658532 #
3. sofixa ◴[] No.43658532[source]
> modern VMs don't emulate hardware

They provide pretend hardware which isn't really necessary.