Comparison
AWS S3 vs Cloudflare R2 vs Backblaze B2
Object storage for AI agent workloads
Object storage is infrastructure agents touch constantly — storing retrieved data, serving assets, archiving outputs. The choice matters more than it looks: egress fees, SDK breadth, and auth complexity all affect how autonomously an agent can operate.
AWS S3
8.1/10
- Execution
- 8.6
- Access
- 7.2
- Confidence
- 0.6
- Tier
- L4 Native
Cloudflare R2
7.4/10
- Execution
- 7.6
- Access
- 7
- Confidence
- 0.55
- Tier
- L3 Ready
Backblaze B2
6.6/10
- Execution
- 7
- Access
- 5.8
- Confidence
- 0.52
- Tier
- L3 Ready
The real question isn't "which is best" — it's "what do you read?"
If your agent reads more than it writes, R2 wins on total cost despite a lower AN Score. Egress is the hidden multiplier in storage economics. S3 charges $0.09/GB out; R2 charges $0. For an agent that reads 100GB/month, that's $9/month in invisible S3 fees. S3 wins on execution quality (8.6 vs 7.6) and ecosystem breadth, but R2's cost advantage compounds over time.
AWS S3 8.1/10
The default choice when you need maximum reliability and ecosystem breadth.
Strengths
- + Near-universal SDK support — every language, every framework, every agent runtime
- + Pre-signed URLs enable secure, time-limited access without exposing credentials
- + Deep integration with 200+ AWS services (Lambda triggers, CloudFront CDN, Athena queries)
- + Highest AN Score (8.1) in the storage category — execution quality is industry-leading
- + Fine-grained IAM policies allow scoped, least-privilege access for agent credentials
Weaknesses
- − Egress fees are significant — $0.09/GB for data leaving AWS (the hidden cost that compounds)
- − IAM complexity is real — agents need correctly configured policies, which is a non-trivial setup step
- − Access readiness (7.2) trails execution quality (8.6) — the API is excellent but onboarding is harder
- − Multi-region replication adds cost and config complexity vs R2's automatic global distribution
Agent fit
Best for agents already in the AWS ecosystem or needing cross-service integration. The SDK breadth means any agent framework can connect immediately. IAM scoping enables secure provider-controlled patterns, whether you pass BYOK directly or inject credentials through Agent Vault.
Turn the comparison into a governed execution path
This comparison helps choose the right service for object storage. Rhumb Resolve is narrower: it can route and execute only the providers backed by live callable truth today. Everything else stays in Rhumb Index as discovery and evaluation until the execution rail exists.
Not every service or capability in the index is executable through Rhumb today. Discovery breadth is wider than current callable coverage. Current launchable strength: research, extraction, generation, and narrow enrichment across 16 callable providers.
Cloudflare R2 7.4/10
The best choice when egress costs matter — which for high-throughput agents, they usually do.
Strengths
- + Zero egress fees — read as much data as you want without cost anxiety
- + S3-compatible API — most S3 SDKs work with R2 by changing the endpoint URL
- + Workers integration enables compute-at-the-edge patterns for data processing
- + Automatic global distribution without multi-region configuration
- + Simpler pricing model — no data transfer surprises
Weaknesses
- − Younger ecosystem — fewer integrations, less battle-tested at extreme scale
- − No native equivalent of S3 Select, Glacier tiers, or S3 Event Notifications
- − Confidence score (0.55) reflects less community evidence than S3
- − Access readiness (7.0) slightly below S3's — fewer auth pattern examples in the wild
Agent fit
Best for agents that read heavily from storage. If your agent retrieves files, serves assets, or processes stored data frequently, R2's zero egress eliminates a cost variable that's hard to predict. S3-compatible API means migration is usually a config change.
Turn the comparison into a governed execution path
This comparison helps choose the right service for object storage. Rhumb Resolve is narrower: it can route and execute only the providers backed by live callable truth today. Everything else stays in Rhumb Index as discovery and evaluation until the execution rail exists.
Not every service or capability in the index is executable through Rhumb today. Discovery breadth is wider than current callable coverage. Current launchable strength: research, extraction, generation, and narrow enrichment across 16 callable providers.
Backblaze B2 6.6/10
The budget option for bulk storage. Less polished, but significantly cheaper per GB stored.
Strengths
- + Lowest storage cost — $0.005/GB/month vs S3's $0.023/GB
- + S3-compatible API available (alongside native B2 API)
- + Free egress via Cloudflare Bandwidth Alliance partnership
- + Simple, transparent pricing with no request-type complexity
Weaknesses
- − Access readiness score (5.8) is notably lower — fewer SDKs, less documentation, fewer auth examples
- − Narrower ecosystem — no equivalent of Lambda triggers or Workers integration
- − Lower confidence (0.52) — less community evidence and fewer runtime-verified reviews
- − Native B2 API is non-standard — the S3-compatible layer is the practical option for agents
- − No edge distribution — single-region storage with CDN as an add-on
Agent fit
Best for agents with large cold storage needs and tight budgets. If your agent archives data, stores backups, or holds large media files that are rarely accessed, B2 offers significant savings. Not ideal for latency-sensitive or high-frequency read patterns.
Turn the comparison into a governed execution path
This comparison helps choose the right service for object storage. Rhumb Resolve is narrower: it can route and execute only the providers backed by live callable truth today. Everything else stays in Rhumb Index as discovery and evaluation until the execution rail exists.
Not every service or capability in the index is executable through Rhumb today. Discovery breadth is wider than current callable coverage. Current launchable strength: research, extraction, generation, and narrow enrichment across 16 callable providers.
Cost comparison at agent-relevant scale
100GB stored, 500GB read, 50GB written per month
AWS S3
~$49.80
$2.30 storage + $45 egress + $2.50 requests
Cloudflare R2
~$6.25
$1.50 storage + $0 egress + $4.75 operations
Backblaze B2
~$5.50
$0.50 storage + $0 egress* + $5 transactions
*Via Cloudflare Bandwidth Alliance
Quick decision
Next honest step
Choose the storage authority boundary after you choose the bucket
Object storage choice decides where files live, not how much read, write, or delete authority the agent should hold by default. If you still need to separate retrieval and inspection from upload, overwrite, or cleanup paths, start with capability-first onboarding. If the workflow is already bounded and one governed key is the honest fit, open the managed path directly.
Fleet follow-through
Storage choice is only the start of unattended file workflows
Picking S3, R2, or B2 decides where files live, but the harder operator questions show up after that: what breaks once retrieval and upload sit inside longer agent loops, how request and egress budgets get shared across many runs, and how bucket credentials or pre-signed access stay narrow as workflows spread. These three pages carry the storage comparison into that live fleet-operating lane.
What actually breaks once retrieval, upload, and post-processing live inside longer unattended agent loops.
How request caps, egress budgets, and downstream processing limits turn object storage into fleet coordination.
Why bucket access feels low-risk until pre-signed URLs, delete authority, and long-lived keys start spreading across the workflow.
Scores are from Rhumb's AN Score — a 20-dimension analysis of execution quality, access readiness, and autonomy readiness, weighted for agent use. Scores update as new evidence is collected. Full methodology →