Cloudflare R2: Zero Egress, Maximum Leverage

Cloudflare R2: Zero Egress, Maximum Leverage

Jun 18, 20266 min readBy Cloudflare R2 Blog

Egress fees are not a line item. They are a trap. Amazon Web Services, Google Cloud, and Azure have spent years building moats out of the gap between what it costs them to move your data and what they charge you for it. Cloudflare R2 exists specifically to detonate that moat, and in 2026, the argument for paying hyperscaler egress rates on hot data has become very hard to defend. Here is what you need to understand about R2, why it matters beyond the storage bill, and what engineering leaders should do about it right now.

What R2 Actually Is

Cloudflare R2 is an S3-compatible object storage service with one defining characteristic: zero egress fees. You pay for storage and operations. You do not pay per gigabyte to move your data out. That is not a promotional rate or a free tier threshold. It is the pricing model. R2 uses the S3 API, which means your existing tooling, SDKs, and integrations work with minimal or no code changes. AWS CLI, Terraform, rclone, boto3, the entire ecosystem of S3-aware software reads R2 as S3. The migration path from S3 is not a rewrite. It is a credential swap and an endpoint change. Beyond raw compatibility, R2 supports near-infinite scale: millions of buckets, effectively unbounded data volumes. This is not a service designed for small workloads. It is designed to absorb the kind of data that hyperscalers have historically made expensive to move.

The Egress Math That Should Change Your Architecture Decisions

AWS S3 charges $0.09 per GB for egress to the internet in most regions. If your application reads 100 TB per month from S3 to serve users, you are paying roughly $9,000 per month before you touch compute, storage, or any other service. At 1 PB of egress, that is $90,000 per month. These are not edge-case numbers for media companies, analytics platforms, or CDN origins. These are routine costs. R2's answer is zero. Not reduced. Not tiered. Zero egress. For teams with bandwidth-heavy workloads, that delta is immediate and computable. Run the calculation on your last three months of S3 egress. Whatever that number is, R2 eliminates it. The migration effort is measurable in engineering days, not quarters.

Why This Is About More Than Storage Costs

Most coverage will stop at "cheaper S3." That framing misses the strategic play. R2 is not a standalone product. It is the storage layer of a vertically integrated edge application platform. Cloudflare positions R2 alongside Cloudflare Workers (compute) and D1 (SQL database) as a full serverless stack. That architecture has a specific implication: applications built on this stack do not need to route through a central cloud region or VPC at all. This is a meaningful architectural shift. Traditional cloud-native apps terminate at a regional endpoint: a load balancer in us-east-1, a VPC in us-central1. Even if you serve static assets from a CDN, your compute and storage still live in one place. Cloudflare's model inverts that. Workers run at the edge globally, R2 stores objects without egress cost, and D1 replicates data to where it is needed. The application is the network. For engineering leaders thinking about reliability and latency, this changes the failure surface. There is no single-region dependency to architect around. There is no VPC to maintain. There is no NAT gateway to explain on your infrastructure bill.

R2 vs. S3 vs. The Field: An Honest Comparison

FeatureCloudflare R2Azure Blob
S3-compatible API
Zero egress fees
Edge compute integration
Global distributed by default
Millions of buckets supported

AWS S3 has genuine advantages worth naming honestly: a longer track record, more granular IAM, deeper integration with the AWS ecosystem (Lambda, ECS, CloudFront), and a larger body of operational knowledge in the market. If your entire stack lives in AWS and you have no egress problem, S3 is not broken. Do not fix it. But if egress is a cost center, if you are building new applications that do not need to be AWS-native, or if you are executing a vendor diversification strategy, R2 is not a compromise. It is the better architectural choice. Google Cloud Storage offers a competitive storage tier but does not match R2 on egress pricing. Azure Blob is S3-incompatible at the API level, making migration more complex and the toolchain interoperability story weaker.

The Negotiating Leverage Angle

Here is a take most coverage skips: you do not have to migrate to benefit from R2's existence. If you are currently spending six or seven figures annually on AWS egress, R2 gives you a credible, production-ready alternative to put in front of your AWS account team. That conversation changes. "We can move this workload to R2 with a week of engineering effort" is a negotiating position that did not exist in 2023. AWS enterprise discount programs are negotiable, and the credibility of your alternatives directly affects the outcome. Use R2 as leverage even if you ultimately stay on S3 for certain workloads. The two options are not mutually exclusive, and the migration complexity is low enough that the threat is real.

How R2 Fits Into Your Stack Decision

The calculus here depends on where you are in your infrastructure journey. If you are greenfield on a new application: The Workers plus R2 plus D1 stack deserves serious evaluation before you default to AWS. The serverless, edge-first model removes entire categories of infrastructure management, and R2's zero-egress model means your cost structure scales linearly with storage, not with how popular your application becomes. If you are running bandwidth-heavy workloads on S3: Audit your egress spend first. If it exceeds your estimated migration cost by more than 3x over 12 months, the ROI case is straightforward. The S3 API compatibility means the technical risk is low. Run R2 in parallel on a subset of traffic, validate durability and performance for your use case, then shift. If you are deep in the AWS ecosystem: Do not rip and replace. Identify the workloads with the highest egress ratios: CDN origins, media delivery pipelines, large dataset distribution, model artifact storage. These are the candidates for selective migration. Everything tightly coupled to Lambda or SageMaker or RDS stays where it is. If you are evaluating Cloudflare as a platform: R2 is a first-class reason to standardize on Cloudflare's edge stack. The combination of Workers, R2, and D1 gives you a complete serverless application platform without managing VPCs, NAT, or regional failover. That operational simplification has real value at scale.

What to Do in the Next 30 Days

Concrete steps for engineering leaders evaluating R2 right now:

Pull your S3 egress spend for the past 90 days broken down by bucket. Identify the top three buckets by egress volume.

Check S3 API compatibility requirements for those workloads. If they use standard S3 get/put/list operations, R2 is a drop-in. If they rely on advanced S3 features like Object Lambda or S3 Select, map those dependencies before committing.

Stand up a test R2 bucket using your existing AWS SDK. Point one low-risk workload at it. Measure latency and reliability over two weeks.

Calculate break-even

migration engineering cost divided by monthly egress savings. For most bandwidth-heavy workloads, that number will be under six months.

If you have an AWS EDP negotiation coming in the next two quarters, brief your team on R2 before that conversation starts.

The Bigger Picture for 2026

The hyperscaler egress model is under sustained pressure. Cloudflare R2 is part of a broader shift, alongside competitors like Backblaze B2 and Tigris, that treats zero or near-zero egress as a baseline expectation rather than a premium differentiator. The market is moving. What makes R2 specifically compelling is not just the pricing model in isolation. It is that Cloudflare is building a coherent alternative platform around it. Workers handles compute. D1 handles relational data. R2 handles objects. Zero Trust handles access. Together, they represent a credible answer to the question: "What if we did not need a hyperscaler at all for this application?" That question is worth asking seriously in 2026. Not for every workload, and not as a political statement about AWS. But for new applications, for bandwidth-heavy pipelines, and for teams that want their infrastructure costs to scale with storage rather than with success, R2 is the most architecturally honest answer currently available. The egress trap is optional. R2 made it optional. The only remaining question is whether your team has run the math.

Get started with Cloudflare R2

Want to start building with Cloudflare R2? Here's a quickstart:

bash
import boto3
s3 = boto3.resource('s3',  endpoint_url = 'https://{your-account-id}.r2.cloudflarestorage.com',  aws_access_key_id = '{access_key_id}',  aws_secret_access_key = '{access_key_secret}')

Ready to get started?

Join companies achieving their goals with our platform.

Cloudflare R2Cloudflare R2

AI-powered insights for engineering leaders.

© 2026 Cloudflare R2. All rights reserved.

Cloudflare R2 — Cloudflare R2: Zero Egress, Maximum Leverage