
The short answer: Cloud egress costs are set by your architecture, not by how carefully you manage usage. That is why most cloud cost optimization programs hit a ceiling. Rightsizing, reserved instances and autoscaling all reduce how much you consume, but none of them touches a charge that exists because of where your data sits and whose network it crosses. We saw this on an EdTech platform we migrated from AWS CloudFront and Amazon S3 to Cloudflare R2. Monthly delivery spend fell from about $3,172 to about $90, a 97% reduction worth more than $37,000 a year, with no downtime. The platform's usage never changed. We removed the charge.
Because in a storage-plus-CDN setup you pay per byte served, so cost becomes a function of usage and no efficiency program changes the slope of that line.
One educational platform's ten-day bill came to $1,057.26, which works out to roughly $3,172 a month, nearly all of it spent moving study materials to students across India. The client was a non-profit, so the arithmetic was blunt: money going to data transfer was money not reaching learners. Funded SaaS companies have the same problem wearing better clothes. Every new cohort of users showed up with a fixed cost attached, and there was no version of growth that didn't also grow the deficit.
Ninety-seven percent of that bill turned out to be removable. The fix had nothing to do with discount tiers or tighter usage policy. It came down to where the content lived and who charged to move it.
Most leadership teams underestimate how wide that gap can be, and it is getting wider. Flexera's 2026 State of the Cloud Report put wasted cloud spend at 29%, the first rise in five years, while 85% of organizations still call managing cloud spend a top challenge. Read those two numbers together and the interesting part is what they rule out. Nobody is ignoring this. Teams are watching their bills more closely than they ever have and the waste is climbing anyway, which points at the remedies rather than the diligence.
It misses charges that come from design decisions rather than consumption. Every item on the standard checklist is a volume lever, and volume levers cannot reduce a cost your architecture creates.
Search for cloud cost optimization and you get the same list, in roughly the same order, on every page that ranks:
None of that is wrong and all of it is worth doing. But look at what the items have in common. Each one reduces how much of a resource you use. They take the unit price and the shape of the architecture as fixed, and treat your job as buying fewer units on better terms.
That holds up until your biggest line item stops being a volume problem. Notice where egress lands on the list: seventh of ten, written up as a tuning tip about keeping services in the same region and putting a CDN in front of your origin. The most-cited guide in the category says outright that it does not recommend changing providers.
So the playbook's ceiling is set by its own premise. Where a cost exists because of a structural choice, rightsizing never reaches it. You can tune twenty percent off a line item. You cannot tune it to zero.
Because the per-gigabyte price comes from the provider and region you picked, not from how efficiently your application runs. Two setups serving identical traffic can differ by orders of magnitude in what they cost to deliver.
Published CDN and object storage egress rates, verified July 2026:
ProviderEgress rate (NA/EU, first tier)Asia / India / AfricaAWS CloudFront~$0.085/GB (first 10 TB)up to ~$0.140/GBGoogle Cloud CDN~$0.08/GiB (first 10 TiB)regional premiums applyAzure Front Door~$0.0825/GB (first 10 TB)regional premiums applyFastly~$0.12/GB (100 GB to 10 TB)~$0.19 to $0.28/GBCloudflare R2$0.00/GB$0.00/GB
Three things make this more consequential than the per-gigabyte comparison suggests.
In a storage-plus-CDN setup, one file request can generate charges on both layers: storage, GET and PUT operations, and transfer, on the object store and again on the distribution layer. On the EdTech platform, every learner file access billed on S3 and CloudFront at the same time. Usage wasn't unusually high. It was being counted twice.
Traffic that costs around $0.085/GB into North America can run $0.14/GB into Africa, and across providers the Asia, India and Africa rates reach $0.19 to $0.28/GB. Model your unit economics on North American delivery, then win your next ten thousand users in Jakarta or Bengaluru, and your gross margin erodes as you succeed. It rarely shows up in a board pack until the trend has a few quarters behind it, by which point the shape of the curve is already set.
This is what separates egress from most cost lines. A FinTech platform delivering monthly statements, a HealthTech product serving diagnostic imaging, an InsurTech workflow pushing policy documents and inspection photos: none of them can be more disciplined about payload. The file is the thing the customer is paying for. There's no autoscaling your way out of a download someone is entitled to.
Which is why we treat this as a design question. The lever isn't consumption. It's the architecture that decides what gets charged.
By removing the charge instead of reducing the usage. On the EdTech platform that meant moving content to a zero-egress object store, lifting security and caching policy up to the zone level, keeping compute confined to the places that actually needed access control, and cutting DNS over without downtime. The sequence matters more than the headline number.
We started with a breakdown across CloudFront, S3, transfer and request charges, to establish which line actually drove the total. India-region egress and HTTPS requests dominated it. That finding made the fix small, which is the useful part. There was no case for rebuilding the platform.
Content moved to Cloudflare R2, which bills storage and operations but not transfer out. That single change took out the primary cost driver. Caching, compression and WAF policies went in at the Cloudflare zone level, applied to the platform's domain rather than the bucket, which kept security and performance independent of storage.
Some of the content genuinely needed protecting, including SCORM sub-resources that shouldn't be publicly addressable. For those we deployed a Cloudflare Worker with HMAC signed URLs, KV-backed single-use tokens and cookie authentication. We kept that layer narrow on purpose: compute went only where access control required it, so the fix didn't quietly reintroduce a per-request bill of its own.
Assets went one-way from S3 to R2 with rclone. A final delta transfer ran immediately before the DNS change to catch anything uploaded during the migration window.
Nameservers moved from GoDaddy to Cloudflare within the 24-hour maximum propagation window. No engineering plan shortens that window, so the cutover has to be designed around it rather than through it.
Here's what came out the other side:
MetricBeforeAfterCDN charges (comparable 10-day window)$1,005.63$0.51Total monthly delivery spend~$3,172~$90Egress feesDominant cost driver$0Annual saving$37,000+Downtime during cutoverZeroContent gaps post-migrationZero
Students and facilitators kept working right through the cutover, and the $37,000 a year went back into educational programs. The full engagement, including the billing breakdown and the phase-by-phase execution, is written up in the CloudFront to Cloudflare migration case study.
One caveat worth stating plainly: this isn't an argument for leaving your CDN. Ninety-seven percent is not a number we'd promise anyone in advance, and we didn't predict it here either. It fell out of the billing audit, because this particular platform happened to be a near-pure egress workload serving a premium-priced region. Plenty of bills don't look like that. What travels is the smaller claim, which is that the largest line on your bill is a decision somebody made rather than a fact of life, and it's worth re-opening.
Not if you move access control into the delivery layer instead of dropping it. On this platform the controls got stronger, because gating content at the edge replaced an always-on service sitting behind it, and the WAF came included rather than metered separately.
The obvious objection to a cost reduction this size is that something got traded away, and that the something is security. Fair instinct. Cost-driven re-architecture is exactly the kind of project that loosens a control quietly and produces a finding two quarters later.
The mechanism here generalizes, which is why it's worth a paragraph. Signed URLs with cryptographic expiry, single-use tokens held in a distributed key-value store and authenticated cookies all gate content at the point of delivery. WAF and origin masking came bundled, so the security posture stopped competing with the cost posture for budget. And because the policies sit at zone level, there's one place to look up what rules apply to the domain, which is a much easier thing to put in front of an auditor than a spread of bucket-level permissions.
Governance as a design constraint rather than a tax you pay afterwards is the same principle that decides whether an AI feature clears review or stalls in it. The architecture that makes delivery cheap and the architecture that makes controls demonstrable turn out to be the same architecture more often than teams expect.
They raise it sharply, because retrieval and agentic systems move far more data than conventional applications. Retrieval pulls documents on every query, embedding pipelines read whole corpora and then read them again on every model change, and inference, evaluation and audit logging all cross metered boundaries.
Flexera puts generative AI use at 81% of organizations, with 45% using it extensively. If your roadmap has an AI layer on it, an architecture that charges for every byte in motion does something worse than cost money. It puts a price on experimentation, at exactly the point where you're still working out what your AI features should do.
Compliance compounds it. Flexera found 53% of cloud leaders naming security and compliance their top challenge for cloud-based AI work, and 47% of large enterprises standing up dedicated AI governance teams or leaders. Audit trails, lineage records and evaluation artifacts are all data. All stored, all eventually moved. Where that data lives and whose network it sits on has a compliance answer and a cost answer, and both are cheaper to decide early than to unwind at scale.
Three questions will tell you whether any of this applies to you, and none of them needs a project.
We work on this class of problem: cloud and platform architecture where cost, performance and governance are one decision instead of three competing ones. If you want a second read on whether your bill is structurally high or just incidentally high, book a 30-minute discovery call. It's a conversation about your architecture and your numbers, not a deck. If the live question is whether a change like this survives a security review, start here instead and we'll go through what your auditors are going to ask for. And if you'd rather see the working before you talk to anyone, read the case study.

