Personally I don't think there's a one size fits all solution, you will have to do the math (like I'm sure Snap, Netflix and others have done) to see if cloud is worth it. However, I agree, for most teams the default should be cloud.
200 million a year, huh.
The cost of commercial office space in the U.S. can range from $6 per square foot in low cost regions to over $12 per square foot in New York City. On average, a 50-cabinet data center will occupy about 1,700 square feet. At a median cost of $8 per square foot, the space alone would cost about $13,600 per month. [1]
Are Uber renting on the order of two million square feet of data centre? Do they have sixty thousand cabinets of hardware?
If they do, i would absolutely love to see a quote for how much it would cost them to run in the cloud.
I think it's far more likely that number is bullshit.
https://s23.q4cdn.com/407969754/files/doc_financials/2019/ar...
Page 124
A pretty dense cabinet should only cost ~$1400/mo at wholesale (1MW+ rooms) rates, and $200M is 143,000 cabinets.
And it's public that Uber uses multiple clouds as well.
Disclaimer: I haven't reviewed public Uber filings, would be very interested if there's any data that indicates they're really spending $200M on opex for real estate (which would be equivalent to $400M/year on cloud, which is either opex or potentially mix if there is some reserved instance-type cloud spend).
But servers can't be included in a "Uber spends nearly 200M/yr alone on real estate for their datacenters" figure anyway.
Add $200 per server per month to have a gigabit uplink.
Add $4000 per server per lifetime for VmWare licenses.
These are reasonable estimates of course. Could be multiple of that depending on what hardware is used and what colo. Physical hardware easily gets as expensive as any cloud.
I know that hardware varies a lot for sure, but for context I put together 3 racks 50% density with an 800gbit backplane for around 18k eur/mo.
I spared no expense, official juniper QSFPs (which are egregiously overpriced) and top of the line Dell servers with full out of band licenses.
And once there: interconnected bandwidth and IOPs became “free” (or, no extra charge).
We put the same application in cloud And it costs us 40k eur/mo with a heavy amount of optimisation, with half-sized instances and an aggressive optimisation in bandwidth/iops.
Clouds “sticker price” to us is 4x that of physical. You can buy a lot of human time for that price.
If anything that's an argument against physical infra, not in favor of. Although it's fine if one wants a lot of the same big servers (an Hadoop cluster, or video computing cluster, or a CDN), which are the few use cases where physical can make sense (and hybrid cloud probably makes even more sense).
With AWS, you'd never spin half of that infra upfront. You'd spin a few VMs and start running stuff. If the project goes well, spin more or bigger VMs, otherwise spin down. Cost is very dynamic and the company doesn't have to spend half a million upfront, which is a big financial problem for many companies.
Anyway. We can both agree on AWS being overpriced. The reference on costs should be Google Cloud if one is cost conscious, not AWS. Google Cloud is often half the costs of AWS for the same thing.
AWS vs Google comparison, bit old and instance types have changed but relative pricing has not moved https://thehftguy.com/2018/11/13/2018-cloud-pricing-aws-now-...
And this one more recent since they've released high memory instances to compete with SoftLayer: https://thehftguy.com/2018/11/13/2018-cloud-pricing-aws-now-...
And, I would really agree with you if not for 2 things:
1) "wasted" cycles are not wasted, the CPU will clock down.
2) Kubernetes was designed specifically for this, the idea is you slice the CPU up so much that you dont waste much resources.
It's astonishingly capable of consuming all resources.
By the by; RAM is never "wasted", it's used for various caches.
The 200M is for a year - at $1400/mo, that's 11905 cabinets.
we ran the numbers continually and like others mentioned, it was a no-brainer to build on-prem. that said, there are a few use cases where aws/gcp are a great fit. people selling cloud without putting in real engineering work to enterprises generally make my life harder than it already is.
Also Uber seems to be much less computing/BW demanding than Snap
>> Your infra would be better tailored to your workloads
How do you scale elastically with an on-prem infra? What part do you tune more to your own workload when an average company cannot even tune the GC for Java for their own workload?
Your claims do not reflect on reality, it is rather your imagination. I have migrated countless companies to the cloud, and almost every single migration was driven by a single factor: cost. Everything else was an added bonus: inscrased security, availability and elasticity.
This is the antithesis of any cloud. You only pay for what you use.
> At $5B it would not cost anywhere near that much to replicate.
If you can recreate GCP for $5B in capex, there are likely some VCs lurking here who would like a word with you.