A startup that cares at all about energy efficiency of compute will use a public cloud service. They don't have inefficient (or any) UPS, some of them don't even have traditional HVAC, their power overheads are only about 10% compared to 100-300% for standard corporate datacenters, and whatever fixed overhead they suffer is amortized over all their customers.
While public clouds do a great job at optimized hardware designs, they do an abysmal job of keeping all the CPU's and disks utilised.
A typical CPU in a cloud datacenter is maybe only 10% utilised. That's mostly due to unsold capacity and poor bin packing on many levels (user has an oversized kube cluster, the cloud provider has spare machines, etc.). Many cloud machines just sit idle for years on end because someone has forgotten about them. In many cases, those idle resources are not used for lower priority jobs either, since they are being paid for by a customer.
Not sure I can entirely agree. If you use for example a cloud machine service for your application (e.g. GCE) but you refer to a hosted database (Cloud Bigtable) then you are exploiting a service that is packed into the rest of Google's junk with very high utilization.
You could also skip the machine reservation and get better utilization by using GAE or similar.
> packed into the rest of Google's junk with very high utilization.
Maybe packed in with other public cloud things? I thought the partitioning between public and private resources was done at a pretty coarse level, but might misremember.
IMO more relevant is that Google public cloud resources are carbon neutral, at least wrt electricity. (Through buying green power and emissions credits, to the degree you believe the prices and the models I guess.)
The proper comparison isn't to how much utilization they could get if they were theoretically perfect. You need to compare to the realistic alternatives. If you are running your own servers, you are probably utilizing an even lower percentage most of the time.
Doesn’t matter that clouds are efficient. By design they have to be massively over-provisioned so they promote waste more than a startup that carefully allocates compute and lives within its bounds.
Bursting to 100k servers for 24 hours rather than properly engineering the code is a trade-off that frequently gets suggested now that the cloud is an option.
Yeah. And even ignoring over-provisioning, I'm pretty sure people would think twice about spinning up as many servers as they currently do if they were forced look at all the servers on a daily basis in front of them. The distance the fact that you don't actually coming across the hardware makes people feel a lot less guilty about running more servers.