This isn’t a new thing. I’ve even written about it before. But it seems to be coming up in a LOT of conversations at the moment.

The price that cloud providers charge for egress from their networks to the Internet is staggeringly high.

Or as Bryan Cantril put it in a recent episode of his On the Metal podcast:

Rapacious bandwidth pricing[1]

It’s an industry wide problem

I’ll use a bunch of AWS examples, but this isn’t just an AWS problem (even if arguably they started it).

If I look at egress to the Internet from respective US-East regions then the cost per GB for the first TB of data works out as:

AWS $89.91 (first GB is free then $0.09 per GB)

Azure $86.57 (first 5GB is free then $0.087 per GB)

GCP $120 ($0.12 per GB)

The VPS comparison for saner pricing

Since before Infrastructure as a Service (IaaS) came along it’s been possible to rent a virtual private server (VPS) from hosting companies. AWS even has an offering in the VPS space these days with Lightsail.

The cheapest Lightsail bundle is now $3.50/month and includes 1TB of data[2].

Putting together that bundle from its parts for a 30 day month would cost:

1 vCPU and 512MB RAM (t2.nano instance) $4.176

20GB EBS $2.00

1TB data egress $89.91

Clearly Lightsail is a bargain when compared to the equivalent EC2 instance just on compute and storage, but it’s a total bargain when egress charges are considered[3].

In the beginning

There’s no mention of network pricing in the EC2 Beta launch post, just “250 Mb/second of network bandwidth” within the $0.10 an hour bundle that included a 1.7GHz vCPU, 1.75GB of RAM and 160 GB of local disk.

Egress pricing first comes up in the March 2006 press release announcing S3, which states that “Developers pay just $0.15 per gigabyte of storage per month and $0.20 per gigabyte of data transferred”.

Early pricing is understandable

When AWS launched S3 and EC2 they weren’t a huge chunk of overall Internet traffic like today, so it’s reasonable to expect that they were having to pay carriers for egress and needed some way to pass those costs on to customers.

Prices have come down over time

But not as quickly as CPU and storage.

After the launch price of $0.20 there are posts from 2008, 2010, and 2014 announcing transfer price reductions. The latest pricing seems to have been in place since 2017:

Bandwidth has come down between 2.2x and 4x since launch.

For comparison the $0.10 that bought an m1.small at launch now gets an m5.large with 8x the CPU and over 4.5x RAM.

Or the $0.15 that bought 1GB of S3 in 2006 now gets 6.5x more storage.

Present pricing seems harder to justify

The cloud providers don’t pay carriers to get data onto the Internet any more. To a first approximation their networks ARE the Internet.

Going past the VPS comparison above it’s possible to find VPS on LowEndBox with 1 TB of transfer per month for $16.99/yr – that same bandwidth with EC2 would be $1078.92 (or 63x more expensive).

This isn’t about being a few % out of whack, it’s a couple of orders of magnitude (especially when considering that cloud providers are paying far less for connectivity than smaller VPS providers)[4].

Asia Pacific is even more expensive

I’ve used number from US-East, and pricing varies by region, with Asia Pacific being substantially more expensive. In relative terms that’s understandable given the underlying costs of undersea fibre links. In absolute terms it’s the same story as above.

Why do the cloud providers keep doing this?

On one hand customers don’t really have a choice – in the confusopoly that’s cloud it seems that all of the providers are charging much the same for data egress.

On the other hand the egress charges are what keeps data and the services around it on a particular cloud – it’s a protective moat, which explains why none of the cloud providers seem in any hurry to initiate a price war on this line item. I’m planning to write more on the topic of data gravity and cloud economics in due course – so this is just laying some foundations.

Conclusion

IaaS data egress charges are excessive in comparison to VPS transfer pricing, which right now provides a high margin revenue stream for the cloud providers (and some nasty bill shock for their customers[5]).

Those charges also bear upon the data gravity for each provider. When McCrory coined the term he noted ‘there is a formula in this somewhere’, and that should be quantifiable by looking at the relationship between storage costs (for data at rest) and transfer costs (for data in motion).

Update 10 Jan 2020

The Register had a piece in 2018 saying it was a ‘Great time to shift bytes: International bandwidth prices are in free fall‘ noting that a 10 Gbps link from New York to London cost $5000/month (which isn’t directly comparable to Internet transit cost, but illustrates the ball park). Back in 2014 Cloudflare founder and CEO Matthew Prince noted that transit in North America was coming out at $10/Mbps in ‘The Relative Cost of Bandwidth Around the World‘, which was updated in 2016 in ‘Bandwidth Costs Around the World‘.

Update 21 Jan 2020

Corey Quinn has a whole episode of his AWS morning brief on ‘Data Transfer Pricing‘

Somehow AWS has managed to successfully convince an entire generation of companies that bandwidth is a rare, precious, expensive commodity. Unless it’s bandwidth directly into AWS from the internet.

Notes

[1] Bryan’s last company Joyent charged the same rates for bandwidth as AWS.

[2] Lightsail data is metered in and out, but then for a typical web server most of the data is out, so this isn’t a true apples to apples comparison, but should be pretty close for most cases.

[3] There’s a catch lurking here. Most hosting providers will just cut off your VPS once all the bandwidth allocation has been used, which can be terrible for user experience but at least doesn’t have an economic impact. That’s not how things work with Lightsail, which instead has ‘overage charges’, which are the same as EC2. So if you’re running a site that does 3.5TB a month then it’s better to pay for the $20 bundle that comes with 4TB than go with the $10 bundle that comes with 3TB then run up a $45 overage.

[4] There is an argument here that cloud providers have much more reliable networks (and services in general) than the VPS providers, but that doesn’t seem to counter the economy of scale argument.

[5] Providers don’t just charge for egress. There are also charges for transfer between zones in the same region, transfer between regions etc. Cloud Economist and Last Week in AWS newsletter curator Corey Quinn has an infographic with the full run down.