Cloud network with streams of digital data flowing upward over city buildings at night

Egress – The Tax You Forgot About

Cloud egress is the slow tax. It doesn’t show up in the architecture diagram. It doesn’t show up in the storage bill. It shows up as a line item once a month that everyone keeps meaning to look at, until one quarter it’s 30% of the total cloud spend and someone with a calculator goes “how the hell….”. By then the architecture has been built around it, the data flows are committed, and the lock-in is real. Hello darkness my old friend. Worth taking seriously before you have to start unexpectedly making loads of LinkedIn posts and “networking”.

What Egress Actually Is

Egress is what cloud providers charge to move data out of their network. Specifically:

  • Out of a cloud region to the public internet.
  • Out of a cloud region to a different region of the same provider.
  • Out of a cloud region to a different cloud provider.
  • Across availability zones in the same region (cheap but non-zero).

Ingress – getting data into the cloud is generally free or near enough. The asymmetry is obviously deliberate. Bring as much data as you like; once it’s in, getting it out costs you. It’s a structural lock-in mechanism dressed as a bandwidth charge. It’s fundamentally how the cloud makes money.

The Numbers

AWS, GCP, Azure all charge similarly. Rough orders of magnitude are:

  • Egress to internet: $0.05-0.09 per GB.
  • Cross-region transfer: $0.02-0.09 per GB depending on the regions.
  • Cross-AZ within a region: $0.01 per GB (each direction).
  • To another cloud: same as internet egress, plus the destination cloud’s ingress (which is usually free, but watch for exceptions).

These numbers are small until you multiply by enough data. A petabyte to the internet is $50,000-$90,000. A petabyte across regions is $20,000-$90,000. A petabyte cross-AZ for a distributed Kafka cluster that’s rebalancing partitions is $10,000. Moving that much data would take weeks. Unless you are CERN admittedly this may not be a major issue….

Where it Shows Up

The bills that surprise people are usually one of these.

Cross-region data warehouse queries. Your warehouse is in us-east-1; your application is in eu-west-1; the BI dashboard hits the warehouse 50,000 times a day, returning 10 MB per call. That’s 500 GB a day, $30 a day, $11,000 a year of pure transfer cost – for a workload nobody thought was heavy and may have thought it was free.

Streaming infrastructure. Kafka clusters spread across AZs for HA produce cross-AZ replication traffic. Most teams underestimate this by 5x. At scale it can rival the cluster compute cost.

Backup to another cloud. Multi-cloud backup is sensible from a resilience perspective. It’s also egress-intensive. A petabyte of monthly snapshots to a different cloud is six-figure annual spend.

ML training data movement. If your training data lives in S3 and your training compute is somewhere else (your own GPU cluster, another cloud, a Lambda Labs / CoreWeave / Modal-style provider), every training run pulls the data across the egress boundary. ML teams discover this when they try to use a non-default GPU provider for cost reasons.

CDN cache misses. If you serve content via CloudFront from S3, cache misses pull from S3, which is paid egress. Caching strategy directly affects your cloud bill. Small, but can still tot up.

User downloads. If your product lets users download data they generated, every download is egress. A B2B SaaS that lets customers export their data can pay surprising sums in egress fees if usage spikes.

The Architecture Consequences

Egress shapes architecture in ways that are easy to miss until you’ve been bitten.

You start building everything in one region. Multi-region is technically appealing and financially punishing. The data gravity is real: once your data is in a region, you’ll deploy compute in that region rather than pay to move it.

You start avoiding multi-cloud. The premium for “the best AI provider is on a different cloud” can outweigh the savings of picking the cheapest one. Most multi-cloud strategies underestimate the egress costs.

You start co-locating storage and compute even when the storage is “cheap.” The cheap storage in a different region isn’t cheap once you add the egress to bring the data to where it can be used.

Cold storage is cheaper, but do you really understand how to bisect your data effectively to do this, without crippling load times from the chillier sections.

Recent changes

The cloud providers have started loosening up. EU pressure (the Data Act) forced AWS, Microsoft, and Google to reduce or eliminate egress fees when customers migrate to another provider, starting from 2024. Cloudflare and a few others have been hammering on this commercially for years.

None of this has eliminated egress fees for normal operations. The fees are still there for routine cross-region data movement and for the use cases that actually drive most egress costs. The Data Act helps migrations; it doesn’t help your monthly bill for steady-state operations.

What Helps

  1. Inventory your egress monthly. Most cloud cost tooling doesn’t surface it well; you may have to dig into the bill explicitly. You have to know where it’s going.
  2. Co-locate. Storage, compute, downstream consumers in the same region wherever possible.
  3. Cache aggressively at the egress boundary. A CDN with a high hit rate dramatically reduces S3 (for example) egress.
  4. Hot ‘n cold strategies.
  5. Use cross-region replication thoughtfully. The DR benefit is real; the cost is real too. Don’t replicate what doesn’t need it.
  6. Consider egress-free storage (Cloudflare R2, Backblaze B2) for use cases where you read more than you write across boundaries.
  7. Compress data on the wire. Egress is billed by transferred bytes, so compression saves money directly.

Egress is the slow tax. It compounds. It hides. It locks you in. It’s worth a couple of hours of attention every quarter to know what you’re paying and why, before the fun begins.

Discover more from Data Lingua. Where Data Engineering Meets Agentic Business Strategy

Subscribe now to keep reading and get access to the full archive.

Continue reading