Hacker News new | ask | show | jobs
by seeker89 1582 days ago
The lightweight-ness argument is enticing, but I'm wondering if the fact that now you have to give these VMs enough RAM to run the app won't mean that you end up with worse flatpacking in terms of RAM than if you used containers?
2 comments

It depends. A t2.nano has 512mb of memory. If you are using Go or something like that you could go much lower but any runtime environment such as ruby/python/node are going to want a minimum of a few hundred meg. If you are using the JVM you most definitely are going to want an instance with much more memory.

At the end of the day your application decides how much memory it wants and the sysadmin/SRE/devops person just ensures it has enough so it doesn't crash.

If you are hosting your own workloads and those workloads only need tens of megs of ram than you can pack as much as your hypervisor can handle.

Alfred talks about booting 110,000 vms on one host before memory exhaustion:

https://ieeexplore.ieee.org/document/6753801

kinda. if the guest uses something like virtio balloon the sharing isn't any worse. handling exhaustion isn't any better - although I think transparent migration of vms is more of a standard function than for containers, so that's some up I guess.