- Very elastic demand curve
- Generally ephemeral with any necessary persistent state stored off-host
- Benefit from geographic distribution of cloud regions because they're generally quite latency sensitive
There are some things that can run on cloud, but the heavy hitting game servers should really be bare metal for the baseline.
I gave a talk about this in Stockholm once, unfortunately it wasn’t recorded but I can share the slides if you want.
It certainly depends a lot on how sophisticated your autoscaling is and how closely you're able to follow demand to limit waste, how well you can manage per-host utilization, whether you are CPU or memory bound, and lots of other factors. But even at truly massive scale the cloud hosting option can be very competitive without nearly as much management overhead.
I wonder why our experiences are so different.
For context I was running 2,500+ instances at peak with 40vCPU and 256GiB of memory: the most expensive of those of course being in the regions with low density of players like South America and Australia.
We also had a predictive auto-scaler for our cloud components, I would estimate that our waste was 15% at any time, but if we ran bare metal only it would have been cheaper (except for the operational cost and the fact we needed lengthy commitments for hardware)
We're also seeing some pretty compelling results from ARM based instances: https://www.wired.com/sponsored/story/changing-the-game/
Our waste was the inverse of yours, less waste on the upswing and more waste on the downswing, due to the long lived nature of our instances.
One instance takes roughly 1,000 players, but if you as a player decide to just keep playing, then we won't kick you out of the game for some hours. Some percentage of players will just continue playing as long as possible without matchmaking or map transfers.
Managing bare metal at scale is challenging.
The cost difference would have been enough to hire 2.5x my team as additional resources, but that differs with scale (and so do the discounts)… So YMMV.