Ask HN: Why is the bandwidth on the big 3 cloud providers insanely expensive?
0.08 per gb is... insane? Are they out of their mind? Maybe I don't get this but whenever I chose a provider, I always look at the bandwidth pricing in addition the the compute costs.
Bandwidth on DO, Vultr, Linode etc is priced reasonably at 0.01 per gb, though that can be decreased further now.
Such is the case with mongodb atlas (their cloud DBaaS) because they only provide their offering at those providers I can't use them.
Or am I missing something here?
25 comments
[ 3.8 ms ] story [ 60.7 ms ] threadIf price is too high, you are not the intended audience. That is how the market generally works regardless of what we think about the value of the price.
Hopefully we'll ditch cloudfront and s3 as something like backblaze b2 becomes available in our region.
Google has two network tiers now, so there is a lower priced option. Note(1) most go down with volume, but do not get that close to $0.01/Gb. Note(2) intra data center / cloud networking has different prices.
Is the issue your application is running in a different cloud than the database? If so, you will want to move your application to the same cloud simply for latency reasons.
Cloud pricing is strange because it's not based on reality or cost of providing the service at all. It's also clearly an anti-competitive market once you understand that.
Short answer is that the big clouds are trying to make a profit - a large profit - and competing with each other cuts into that profit & devalues the market. If the market isn't lucrative enough, the big clouds will have less priority to push their clouds and everyone loses.
There is no other property here.
Reliability/redundancy is not a factor. (Routers & switches don't cost much anymore)
Performance is not a factor. (Do people really think they don't get their bandwidth almost free through peering?)
It's all profit.
Or that they’ve all decided to keep prices up to have similar demand and profit?
Neither of those make very much sense to me unless there is active collusion.
None of them want to be known as the cheapest provider. They want to be the best provider.
Twist on Argumentum ad crumenam [https://en.wikipedia.org/wiki/Argumentum_ad_crumenam]: Fallacy that if it is more expensive, it is better.
However, I am not sure what's holding Google back. They have all the right incentives to launch a price war but I guess they are focusing more on "value-addition" with ML cores, AI APIs etc.
Of course, the answer is that there's insanely high demand and massive lock-in. AWS/GCP/Azure are only competing for new customers, as existing customers are locked in by way of proprietary infrastructure. I imagine that the existing customers completely dwarf new customers, so the best move on their part is to charge high prices.
Only a non-dominant player like DO needs to make bandwidth cheap.
All those Telekom Endusers are consuming Google Services like YouTube etc. but Telekom doesn't peer for free. You have plenty of peering congestion stories here in germany for the last 10 years.
A german hoster called Hetzner, also did not wanted to play that game with Telekom and you were able to pay 5,- Euros per Month to have paid peering between your Server and Telekom.
When you look at Telekoms peering: https://www.peeringdb.com/net/196 they have only 20G with DE-CIX Frankfurt. They don't peer publicly, we should force them :(
https://www.peeringdb.com/net/433 google vs. do https://www.peeringdb.com/net/6494
Reliability, redundancy, peering, latency are factors.
Google didn't start out as a cloud. Especially with YouTube, they no questions have private peering with Telekom.
Azure? Windows Update, Xbox, & more. Tons of data coming from the Microsoft network with their immense market share. They no questions have private peering as well.
Amazon? That is the only one that may not have private peering with Telekom, but considering they reign #1 in the cloud wars, it is also likely.
You'd only have to worry about outbound data transfer from your app servers to the internet.
As long there is a buyer, there is also seller. They are some serious money pumped into marketing last few years to establish this model as 'cloud' standard.
Networking at scale is complicated and expensive. Of course, at the economies of scale providers like AWS and GCP it does become much cheaper. No one in datacenters pays per gigabyte, but you do in the cloud because you're paying for so much more than just data-go-out.
There is a lot of hardware and glass that goes into you being able to reliably transfer a gigabyte of data in or out of AWS. They peer with hundreds of providers and need to constantly monitor and balance traffic in hundreds of locations. When you buy your own transit, you pay for say 1 gigabit per second with Level 3. What if Level 3 has an issue? Or that fiber is cut? Well now you need to pay for 1gbps with GTT. What if the path to your customers isn't optimal via GTT? Well now you need to pay for 1gbps with Verizon.
Huge transit speeds, combined with huge IP spaces and huge routing tables means hugely expensive routers anywhere they are doing significant amounts of peering (which is hundreds of locations). You as the customer don't care, you just expect your gigabyte to go where you want it, no matter what.
Does all this really cost AWS $0.02/GB? Hell no. They want you in their ecosystem. If it's cheap and easy for you to send your data out (as it is practically free to get your data in), then you'd just leave anytime you wanted.
So yes it’s expensive, but you’re unlikely to exhaust its capacity or either are any of your neighbors. That’s what you’re paying for.
Google has a globally spanning Network under its own control. They have peering with all bigger ISPs / Networkowner.
DO doesn't has that. They have barely a few locations and not all locations support all services.
When Google tell you they have 1-3ms latenc between Zones, thats what they have. On DO you probably don't even check that.
If you need to operate globally, you will probably not go to DO. You wanna provide a good service with low latency globally, you go to GAA.
What Google also does, it terminates your TLS connection as close as possible, for low latency for that expensive roundtrip and encrypts it internally.
When i'm looking for my private stuff, i'm not going to GAA, i go to DO or Hetzner. They are cheap, relativly reliable and thats it.
When i'm doing something at work, i will not go to DO or Hetzner if it costs me overhead. That stuff needs to run, 24/7, without me or my colleges interacting with it. That would cost much more. It is also an operational risk.
The scale also changes: If a Service costs me 500$ more per month on AWS but it allows me to have a few new bigger customers (b2b) onboarded, no one will look at those 500$. An external developer costs between 600-1000$ per day.
I still can't tell you how reasonable those Bandwithprices are, but i do know, that when i would need low latency or high bandwith also at peak time, i would go to GAA and i assume that that is part of the cost you pay for it.
You can transfer about 320 GB in a month.
In other words, what you pay for a GB from the cloud costs about what you'd pay for a Mbps in a well connected datacenter.
Especially with AWS I feel like I get ripped off everytime I use any of their services, because there's always some magic, undocumented buttons I need to press in their godforsaken gui to make it work.
Moving data to clouds or within clouds typically is cheaper than moving data out of it. For example, moving data into EC2 is free (or used to be, or https://www.cloudmanagementinsider.com/data-transfer-costs-e... is incorrect. I tried checking that on AWS.amazon.com, but got lost. I also tried finding within-AWS transfer costs, but again, got lost)
It basically is a trap: once you have a lot of stuff in a cloud, all processes working with the data better be in the same cloud.