Earlier quoted context omitted.
This is why you should run your entire application on bare metal (colo or dedicated) with failover to the cloud. The benefit of the cloud is its elasticity. You can handle a 2000% traffic increase by spinning up VMs instantly; no need to wait a day or week or month for bare metal provisioning. And you should do this! But once you've structured your application this way, you are already horizontally scalable. There is…
You'd have to price in the cognitive load for engineering for that setup, and the recruiting costs / turnover costs for anyone that had to be exposed to the colo center. Also, the colo center! Speed & reliability are features, so you'd have to make sure to pick a colo center that had a competitive setup in terms of peering & backbone speeds, power redundancy, etc. Ideally you'd also be in more than 1 colo unless the…
All of which tends to be more expensive if you replace the "colo center" at the end with "cloud provider".
Operating a cloud setup is by no means free of operational issues.
> so you'd need staff in more than 1 region
If you're too small to need that, you use managed hosting, pay a tiny premium over bare metal colo providers, but still far less than a cloud setup.
> It's not simplistic at all
Yes, it is, it is trivial to model, and for companies that don't have the experience, there are consultancies everywhere that will do it for you (that's part of what I do for a living - it's always the easiest jobs to get paid for, because there are hard numbers that shows them how much more they'll be saving that year than what they'll be paying me).
> but unless your hosting costs are really dragging down profit, I'd pinch pennies elsewhere personally.
I regularly deal with clients where hosting costs are measured in tens of percent of total operating costs. For a lot of internet related business, hosting is a massive drag.