Hey all,

I know this is a bit off-topic but this sub is one of the few where one can talk about technical stuff and not about tech careers lol.

I have been thinking about that a lot lately. Are there use cases where bare metal is better than virtualization? Have you ever encountered an use case that the virtualization overhead is an issue? I would love if you share your experiences. Thanks =)

  • PaulEngineer-89@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    One big advantage of VMs is better resource allocation. If you have multiple different server types load leveling is better (fewer idle cores) with VMs. You also have the security implications. These days I tend to run Docker though and eliminate VM overhead even more.

    Another major benefit is security. Say someone hacks your web server. Ok so from there they are stuck inside the VM. Assuming you’ve practiced zero tier compromising that one server is useless against the others. Plus there is not just backups but maintenance and recovery. If a server has a hardware failure (say one of a couple PSUs or a fan) with a VM environment you can just move the servers over or set them to auto boot on a second hardware server. And recovery is simply copying over the VM and booting it in seconds.

    I ran performance tests years ago on a couple Dells with VMWare vs Xen vs bare metal. What I found is that VMWare has better advertising than Xen but basically uses the same software on a buried RHEL host. Performance wise on any load it was something like 99.7% throughput/CPU vs bare metal. So there is a difference but it literally comes down to roughly the overhead of running the VM if it was a process on the VM instead of the host.

    As far as pass through hardware this has gotten to be less and less of a thing. Only a few annoying products “require” bare metal (TrueNAS). Not so much licensing as just stupid implementations. You aren’t “losing benefits of VMs” though except perhaps storage allocation flexibility or sharing a GPU.