Hacker News new | ask | show | jobs
by jebr224 1335 days ago
I would enjoy real world (apples to apples) comparison of the cost of cloud vs self hosting. There are many speculations and approximates, but some hard facts would go along way.
3 comments

I wrote one of the big speculations and approximates. In real life, it is very much workload dependent, but the balance skews a lot more in favor of self-hosting (or cheap hosting companies) than IT leaders (used to) think.

I think the three best reasons to use the cloud are: (1) If you have a very bursty workload, (2) if you need compliance with specific government regulations that are expensive to certify, or (3) if your app is a hobby project or otherwise fits inside the free tier.

A lot of applications fit into one of these categories, and, anecdotally, people running them are very happy with the cloud. Most CRUD apps today do not fit into those categories.

I have also seen companies have a lot of success with hybrid cloud deployments, where they run a datacenter for their base load and scale out into the cloud when they need to do more work.

It’s 100% work load dependent. Cloud makes dealing with complexity cheaper in many cases by letting you outsource admin to managed services, and is great if you need elastic scaling. Bare metal on the other hand can be many orders of magnitude cheaper for compute and especially bandwidth. Cloud bandwidth pricing is completely insane, up to 1000X more than bare metal hosting.

There is no one size fits all advice. You have to model your work load. Take scale into account too. Cloud often makes far more sense at a small scale than a very large scale since labor costs can amortize. There comes a point at which hiring admins may be cheaper than paying cloud costs.

It's heavily dependent on your scope and how much you value your time.

I could spin up a postgres docker container locally, in shorter time than it took me to write this comment. On the other hand that wouldn't provide readonly replicas, standby-replicas, cross regional, point in time backups where i can just click on a date and the database will restore, access controls connected to my company directory. All that would take months to engineer properly myself and after that continuous monitoring and replacing of disks.

Maybe you don't need all this, maybe you do, it's all a part of your workload and effort equation. It's not possible to just take the cost of a VM and multiply with number of hours in a year.