Earlier quoted context omitted.
> The cloud providers rarely make sense in terms of cost for smaller businesses unless you heavily rely on batch jobs (spinning servers up/down) or other of their more advanced services. There are many valid reasons for smaller companies to consider cloud deployments, but I've yet to see one where it was the cheaper alternative. The cost of a server isn't just the hourly/monthly fee for running it. It's also the cost…
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 need to price in continued investment into that colocated hardware too, parts break down, cyclical improvements to hardware happen, etc. It's not simplistic at all, maybe there's money to be saved, but unless your hosting costs are really dragging down profit, I'd pinch pennies elsewhere personally.