Live data from Hacker News

Why cloud bandwidth is so obscenely expensive and what you can do about that

kerkour.com

51–60 of 164 posts

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#51
I wonder is

  There also is Hetzner and their dedicated servers. You pay for a server with a 
  1Gb/s connection and all egress is free. Unfortunately, I can't recommend them 
  as each time I've tried to create an account, their abuse detection systems 
  banned my account even before I had the occasion to enter a payment method.
related to

  I've myself won the jackpot in the past on Netlify where I forgot to put a 
  sleep in a while (true) loop, making my script flood my website and generate a 
  lot of traffic. For the story, I quickly migrated the website to another 
  provider, deleted my account, and never had to pay the bill :)
Is there some kind of blacklist if you do something like that? But I do know Hetzner has some extremely strict policies regarding account creation.

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#52

Earlier quoted context omitted.

How does Cloudflare offer it for free?

Um. It’s not. They have a free plan, but it’s subsidized by their paying customers.

And a lot of their "good" features are only available to paying customers. Image resizing, Argo (fancy... routing aware something or another to your server), more than a few cache rules, and a range of other custom stuff.

I think they do a really good job of it, personally. It's trivial to get your free account set up to play with and even host a pretty serious amount of "simple" traffic, and you can easily explore the features, see what's available for paid (they're quite transparent about the assorted costs which is nice), etc.

It feels a bit like an honest version of Microsoft and Adobe's "look the other way for casual piracy, because you're familiar with the product..." of the late 90s and early 2000s. "Hey, try it out for free, and if the free stuff works for you, great. But if you need more, this is what else we offer!"

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#53
Do you have time, or do you have money? If you have time, then build some boxes and put them in a colo. If you have money then negotiate a cloud contract. Even if you have time, it might be better to start prototyping on a free tier on the cloud, and then maybe go colo, and then back to cloud.

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#54

TL;DR - author claims the hardest part of running a cloud PaaS is networking, thus the cloud providers charge you a ton for egress to outsource the optimization problem to you. It's not clear to me this claim is true - they're in the business of solving exactly this optimization problem - and they have, they're just capturing maximum profit. If it was really the hardest / most costly - then other providers wouldn't b…

> author claims the hardest part of running a cloud PaaS is networking

This is obviously false to me as someone who has done data center stuff and devops before.

The hardest part is running complex services like databases, storage, and runtime environments like Kubernetes or serverless and doing a good enough job to deliver high uptime for a gigantic variety of customer workloads over which you have basically no control.

The other hardest problem is security, because you are by definition running a ton of untrusted code on shared infrastructure. (scream emoji!)

You can sort of tell software management is where the pain is because that's what keeps people on the cloud. That's the selling point. Without those managed services compute, storage, and bandwidth are ridiculously cheaper on VPS and bare metal providers.

Networking is comparatively easy. It's mostly a game of over-engineering. You design your internal data center fabric to handle way more data than you think you will need.

There was a time maybe a decade or two ago when networking at scale was a lot harder but today there are numerous off the shelf products designed for hyper-scale that you can just buy and deploy. This is part of why VPS and bare metal providers can sell bandwidth so cheap. You don't have to roll your own high performance fiber backplane fabric anymore.

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#55

Earlier quoted context omitted.

Heathen! Not everyone can afford that PhD in enterprise class hardware management you must have earned to pull this off. And besides, what are you going to do when you wake up tomorrow and you're the next FAANG? You'll never scale to 2B DAU on that box and we all need to be ready for that, just in case. I knew a guy who knew a guy who founded a FAANG, so it could happen to you too. You have to be ready! /s

But seriously, for scaling up, just have a plan for how to move things to the cloud quickly. Containerization and building everything on Kubernetes help.

Or don't!

Not everything "has to scale." My stuff isn't built to, and I see no reason to do so.

It's my personal server. I run some stuff for my convenience, a quiet backwaters community forum, a Matrix chat server, etc. If any of that really starts to ramp up, I can always split it out into its own VM. If it exceeds what my current server can handle (exceedingly unlikely), I'll go rack up another box for it. And if I get a super sudden spike in traffic, something is probably quite weird. The only thing likely to see that is my personal blog site, which I already have cached in Cloudflare with a typical ~60% cache hit rate, going up north of 90% if there's a spike in traffic, because, being a static site, I've told CF to cache "literally everything there."

I probably could move most of my stuff to "the cloud" in an evening's sysadmin, but... why? I already went through the process of moving it off the cloud to save myself an awful lot of money.

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#56
post #20

What you can do about it is go back to the early 2000s and rack up your own boxes in a colo, with some reasonable unmetered bandwidth allocations, and skip the whole "cloud" nonsense. My personal box is a 6C/12T Xeon from a few years back, 128GB ECC RAM, and about 24TB usable disk plus 2TB NVMe, for running a lot of other VMs that I run actual services in (remote backup, my web presence, communications, game servers,…

[deleted]

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#57

TL;DR - author claims the hardest part of running a cloud PaaS is networking, thus the cloud providers charge you a ton for egress to outsource the optimization problem to you. It's not clear to me this claim is true - they're in the business of solving exactly this optimization problem - and they have, they're just capturing maximum profit. If it was really the hardest / most costly - then other providers wouldn't b…

??? This is obviously true. The bandwidth available in a geographic location is, practically speaking, limited. Roads are cheap to pave, but if there was congestion 24/7 and you paved all you could, then you would need to start rationing road usage. For a business the best way to ration is to charge more. Solving this problem requires a massive amount of engineering work, which would also justify the increased cost.

Because of advancements in xWDM it is not limited. By replacing networking equipment (0.000001% of total cost) you can x10, x100, and more the bandwidth on an existing cable.

The same (single mode) optical cable that was once capable of running 2mbps is now able to run 400 * 100Gbit.

Now wireless is starting to repeat this evolution.

This is one of the reasons for the old joke: "Do you know how to amass a small fortune in Telecom?"

"Start with a big fortune"

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#58
>The second, less known, reason is that between compute, storage and network, network is actually the hardest part to scale for cloud providers. Thus they need to find a way to incentive their customers to optimize their network usage by themselves. And what better motivation to optimize something than taking a huge chunk of your profits?

This doesn't really make sense as an explanation.

Cloud networking has two components:

1. The network connecting the datacentres to the internet (the datacentre edge infrastructure).

2. The network connecting the servers and virtual machines to that edge.

1 is a solved problem and the variable costs are going to be based on any transit connections used. What cloud providers charge for bandwidth here is out of proportion to that, and they don't bill for ingress anyway, so this makes no sense.

2 is a technically more complex area, except it's very clear that getting people to use this infrastructure less is not the motivation because cloud providers don't charge for intra-DC traffic. You can ferry data around between servers in the same AZ as much as you like and not pay anything. The same is true of transferring data to and from e.g. S3 and EC2.

In other words, the more technically complex and sophisticated network component is the one which isn't billed at all. Meanwhile, boring internet connectivity is billed at an exorbitant rate, but only in one direction.

It's really quite obvious at this point that the motivation is vendor lock-in. You are penalised if you take data out of a big cloud provider but not to put data in. This means as soon as you put anything in AWS you are suddenly motivated to do as much in AWS as possible.

This is fundamentally anti-competitive. If AWS starts offering some infrastructure service, it can offer free bandwidth to that service for its own customers, but some third party providing a comparable service can't, at least unless it also starts using AWS.

But that's not even the best of it. If you want even better proof that these charges are BS, just look at Snowball. This is a service where you can transfer data to S3 by having AWS mail you a hard drive. Amazingly, they have the gall to charge per GB for this in addition to the fixed fee you pay... but only for exporting data.

In other words, I can pay $150 and get loaned a SSD, fill it up with 14TB of data and import that data to S3. If I pay $300 to get data out of S3, I also pay $0.03/GB. Internet transit is not even involved here!

It is pure anti-competitive lock-in. It's also really against the principles of the internet, in that the internet couldn't have developed as it did if we accepted different billing for communicating with different IPs (can you imagine "I don't want to send traffic to a foreign IP, I'll pay international rates!"). Yet cloud providers work on this principle. If you think about it it is effectively a net neutrality violation, just not on the part of residential ISPs - they charge you less to communicate with their own services than with others (zero-rating).

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#59
Can anyone take a crack at why the hell you need a company and its computer farm 3000 miles away to merey sync your calendar, CalDav or whatever it is between two devices that are oerfectly capable of taking to each other or with a local-first mediating process or tool? I don't get what is about syncing things (particularly the basics like Contacts, Calendar/Reminders that requires you to send the data thousands of miles away and back when its all in the same room

Re: Why cloud bandwidth is so obscenely expensive and what you can do about that

#60
post #44
post #39

Is there a way to protect against the "Denial of wallets" attack?

Yes, there is a way to protect against that attack! All you need to do is have triggers in place that will shut down or slow down your service when the costs are exceeding some amount. (If you get a moment of viral growth, you can always disable the trigger.) Unfortunately, AWS makes it extremely difficult to build such a trigger, and I'm not sure about other cloud providers.

There’s always rate limiting. Cloudfront supports it, API gateway support it, and it’s super easy to set up.
Post reply on HN