3 ms·
Electricity costs money
by johngladtj 3y ago
Electricity costs money
- JW_00000 3y agoBut no electricity is used if your instance is up but idle.
- tsimionescu 3y agoWhat does "idle" mean? Both a Linux or Windows OS not running any active software will still do computation and even network traffic (disk cache wrangling, indexing, checking for updates, NTP clock syncing etc), and requires electricity to do so. It's very low cost, especially if its on a VM from a host that otherwise runs other VMs, but it's not 0. And if it happens to be the last VM preventing a hardware server from completely powering off, then it's actually quite far from 0.
- littlestymaar 3y agoThe electricity overhead of keeping an idle VM on an already running host is nearly zero though.
- tsimionescu 3y agoSure, but the electricity overhead of keeping one host running just to run an idle VM is not as trivial.
- littlestymaar 3y agoBut that's not what's happening: they aren't keeping a full host for you. Your argument is like saying that a bus traveler costs the gas needed to power the bus, but it's never the case: the bus would be cruising no matter what. And symmetrically the VM host would be up no matter what you did with your instance.
- tsimionescu 3y agoI'm not sure that's true. Shutting down unneeded hardware seems like a very simple but major optimization.
- littlestymaar 3y agoYou assume that the hardware would be unneeded, but that's a very strong assumption. It would be very bad for any cloud provider to leave hosts with only one VM running on it, and you can be pretty sure only very small minority of their park that end up in that situation where shutting down a single VM would lead to a shut-down of the entire host, because it means that the host was vastly under-used in the first place.
- tsimionescu 3y agoAs far as I know, most cloud hosts don't actually support automatically moving live VMs, so I think it's fairly common for a host to be left running a single VM. At least in AWS, they never supported this, and in fact may require you to reboot an instance occasionally in order for it to be moved to a new hardware host (typically when they are upgrading their hardware).
- littlestymaar 3y agoBut why are you talking about moving VMs?! Looks like you're adding tons of far-fetched speculations at every step of your reasoning. The way you easily deal with this issue is very simple and does not require moving VMs: you just allocate newly spawned VMs to existing hosts with available room! When you do so (and they obviously all do!) you end up with little unused hardware…
- tsimionescu 3y agoSay you have 3 hosts, each with a capacity of 10 VMs. At some point you have 28 running VMs - 10 on host1, 10 on host2, 8 on host3. Someone then closes down 2 of the VMs on host1, and 7 of the VMs on host3. Now you have 19 VMs running, but need to keep all 3 hosts powered. If you don't have live VM moving, you are now forced to keep Host3 running only because 1 VM is running on it, even if that VM is idle. So, this one idle VM is responsible for all the energy consumption of host3, and will continue to be so until at least 3 more VMs get started (since you have room for 2 more VMs on host1). If you did have live VM migration, or if the idle VM were powered down instead of running idle, you could close host3 completely, moving the VM to host 1, and only re-open host3 if needed for new VMs. This is equivalent to the problem of memory fragmentation. Even though overall usage is low, if host usage is highly fragmented and you aren't allowed to move used memory around (compacting), you can end up consuming far more than actually needed.