FR
live

R2, B2, Wasabi and MinIO Replace S3 and Slash Your Bill by 10×

AWS S3 Standard charges $23/TB for storage and $90/TB for egress. Cloudflare R2, Backblaze B2, Wasabi, and MinIO offer the same S3 API at $7 to $15/TB — with free or near-free egress. Here’s which one to pick based on whether you’re doing backups, CDN, or data lakes.

Object storage S3 alternatives R2 B2 Wasabi MinIO — ETTAYEB illustration

As of July 2026, AWS S3 Standard charges $0.023/GB for storage and $0.09/GB for egress. For 10 TB of data accessed at 20% per month, your bill lands around $410/month — with $180 of that coming from egress alone. These prices have barely moved since 2018, while four S3-compatible alternatives now offer the same API for three to ten times less.

Object storage is no longer an AWS monopoly. Cloudflare R2 eliminates egress costs outright, Backblaze B2 drops to $6.95/TB with free egress up to 3× your stored volume, Wasabi charges $7.99/TB with no egress or API fees, and MinIO frees you from the cloud entirely by running on your own hardware. All four speak the S3 protocol — your existing tooling (s3cmd, rclone, awscli with a custom endpoint) works without a single line change.

The choice isn’t about features — it’s about your traffic profile. The alternative that cuts your bill by 10× depends on whether you’re storing cold backups, serving a high-egress CDN, or running a data lake analytics pipeline.

The matchup in one table

SolutionStorage ($/TB/month)EgressAPI feesDeploymentCatch
AWS S3 Standard~$23$0.09/GBChargedManaged cloudUnpredictable egress bill
Backblaze B2$6.95Free ≤ 3× storage, then $0.01/GBFreeManaged cloudEgress beyond 3×
Wasabi$7.99Free (fair use)FreeManaged cloud90-day minimum per object
Cloudflare R2~$15FreeClass A: $4.50/MManaged cloudOperation costs on write-heavy workloads
MinIOHardware costFree (your network)FreeSelf-hostedYou manage the drives

Backblaze B2 — the cheapest pure storage

Backblaze B2 was born in 2015 from a company that builds hard drives and knows the price of silicon. The result: $6.95/TB/month, the lowest rate on the market for always-hot object storage — your data is accessible in milliseconds, not hours.

B2’s killer feature is free egress up to 3× average monthly storage. In practice: if you store 10 TB and download up to 30 TB per month, egress is free. Beyond that, overage drops to $0.01/GB — ten times less than S3. For a backup you rarely read (quarterly restores), you’ll never pay egress.

Another underrated advantage: API calls are free (Class A, B, and C). Where S3 charges for every PUT, GET, and LIST, B2 doesn’t count. Only Class D operations (deletes) are billed at $0.004 per 10,000 calls — with the first 2,500 per day free. For a daily backup of thousands of small files, this API fee waiver reshapes the bill.

B2 Reserve pushes pricing even lower with annual commitments, billed yearly instead of monthly. The exact rate depends on negotiated volume, but the order of magnitude remains a 3× to 4× reduction from S3 pricing.

The limits: B2 lacks an integrated CDN — to serve files to end users, you’ll pair B2 with Cloudflare CDN (free, via the Bandwidth Alliance, which waives egress fees between Backblaze and Cloudflare). There’s no native multi-region replication — your data lives in a single datacenter (US West or Amsterdam). Multi-site replication is yours to build. And latency is datacenter-grade — fine for backups, insufficient for interactive applications.

B2 is the right call if your primary use case is backup or active archiving, your storage volume exceeds a few terabytes, and you’re not reading data continuously.

Cloudflare R2 — zero egress for CDN and web assets

Cloudflare R2 is the newcomer, launched in May 2022 with a radical promise: zero egress. No threshold, no fair use, no complex math — every byte leaving R2 to the Internet is free, period. That promise holds as of July 2026.

Storage costs $0.015/GB-month, roughly $15/TB/month — more expensive than B2 or Wasabi, but the total absence of egress flips the equation the moment you serve content. Concrete example from Cloudflare’s own asset hosting scenario: 100,000 files of 100 KB, read 10 million times per day, cost $104.40/month — entirely in Class B operation fees (reads), with storage covered by the 10 GB free tier. On S3, the same traffic would cost over $900/month in egress alone.

Native integration with the Cloudflare network is the other decisive advantage. An object stored in R2 is automatically served from the Cloudflare datacenter closest to the user — no cache configuration needed, no additional CDN. For a website whose assets (images, JS, CSS) are served from R2, latency is Cloudflare network latency: < 50 ms in most regions worldwide.

R2 also offers Super Slurper (automatic migration from S3, GCS, or Azure Blob at no charge — only Class A operations are billed) and Sippy (progressive migration: objects missing from R2 are fetched from the source on first request). These tools reduce migration friction to zero — point at your source bucket, R2 pulls the data.

The catch: operation fees. Class A operations (writes, PutObject, CopyObject) cost $4.50/million and Class B operations (reads, GetObject, HeadObject) cost $0.36/million. For write-heavy workloads — log ingestion, real-time data pipelines, database snapshots — these operation fees can exceed storage costs. R2 is not optimized for massive small-object writes: it’s an object store for reads, not an event bus.

Another limitation: R2 is still young. Advanced S3 features (Object Lock for immutability, complex replication rules, Strong Consistency on all operations) are incomplete or absent. For data lake use cases with Iceberg or Delta Lake, R2 isn’t yet on par with S3 or MinIO.

R2 is the right call if you’re serving web content (images, videos, static assets), your monthly egress exceeds your stored volume, or you’re migrating from S3 and want to cut the egress bill without rearchitecting.

Wasabi — simplicity at $7.99/TB with no egress and no hidden fees

Wasabi makes a simple promise: $7.99/TB/month, free egress, free API calls. No complex math, no storage class to choose, no surprises. For 100 TB with 20% monthly download, Wasabi charges $818/month versus $4,097 on S3 — an 80% savings according to Wasabi’s official calculator.

The pricing model is rare in its clarity: a single rate for storage, everything else is included — egress, API requests, ingress. Even cross-region replication carries no egress surcharge. For a small business wanting to migrate its storage without hiring a financial analyst, this predictability is a selling point in itself.

But simplicity comes with a trade-off: the 90-day minimum storage duration. If you store an object and delete it after 10 days, you’re billed for 90 days — 10 days of active storage plus 80 days of “timed deleted storage.” This policy makes Wasabi unsuitable for ephemeral workloads: temporary logs, CI/CD artifacts, staging buckets. For a backup retained for months, this constraint is painless. For a data pipeline that writes and cleans up daily, it becomes a financial trap.

The free egress policy is bounded by fair use: if your monthly egress exceeds your active storage volume, Wasabi reserves the right to limit or suspend service. In practice, this rules out public CDN use — if your files are downloaded more than you store, Wasabi isn’t built for you. It’s the right tool for backups, archiving, and moderate-read application storage.

Another friction point: the 1 TB minimum active storage, and a 4 KB minimum file size for billing. Store millions of 1 KB files and you’ll pay as if they were all 4 KB — a silent 4× multiplier.

Wasabi is the right call if you’re doing long-term backup or moderate-read application storage, you want a penny-predictable bill, and your objects live longer than 90 days.

MinIO — object storage on your own servers

MinIO is the only entry on this list that isn’t a cloud service. It’s an open-source piece of software under the AGPLv3 license that you install on your own hardware — bare metal, VMs, Kubernetes. As of July 2026, MinIO ships as AIStor, fully S3-compatible and natively Apache Iceberg-ready, with a strong positioning on AI/ML and analytics workloads.

The economic model is the reverse of cloud: you pay for hardware (drives, nodes, networking) and optionally an Enterprise license if you exceed 400 TB or want 24/7 support. The Community edition is free, full-featured, but limited to single-node — sufficient for development or small production deployments.

Starting with Enterprise Lite (< 400 TB), you unlock multi-node deployments with erasure coding (fault tolerance without RAID), active-active multi-site replication, SSE-S3/SSE-C encryption, and immutability compliant with SEC 17a-4(f). Full Enterprise adds 24/7 support with a < 4-hour SLA and the Panic Button (direct escalation to engineering).

Real cost depends on your infrastructure. For a four-node cluster with 100 TB usable using erasure coding (8+4), budget roughly $15,000 to $25,000 in hardware amortized over 3-5 years — $125 to $350/month, or $1.25 to $3.50/TB/month. It’s the lowest per-terabyte cost on this list, but it requires you to manage dying drives, updates, and monitoring — this is storage for teams that already have an SRE.

MinIO’s decisive advantage over cloud alternatives isn’t price — it’s latency and throughput. A MinIO cluster on NVMe in your datacenter delivers < 1 ms latency and multiple GB/s throughput — numbers no cloud service can match at this budget. For data lake analytics with Trino, Spark, or Dremio, or for serving AI model weights during inference, on-prem MinIO is the only option that handles the load without blowing up the egress bill.

Another asset: native Iceberg. MinIO AIStor implements the Iceberg catalog directly in storage, with no external service (no Glue, no Hive Metastore). An Iceberg table stored in MinIO is queryable by Trino or Spark as if it were in S3 — without Glue API charges and without S3 egress.

The downside: you manage the failures. A drive dying at 3 AM means your phone rings — not AWS support’s. Fault tolerance via erasure coding protects against data loss, but doesn’t replace an ops engineer. And MinIO’s learning curve is real: tuning drive pools, sizing erasure coding, and configuring networking for multi-site deployments demand skills the cloud abstracts away.

MinIO is the right call if you already have an ops team, your volume exceeds 50 TB, latency matters (analytics, AI, video), or you want to pull data out of the cloud for sovereignty or long-term cost reasons.

Verdict — which alternative for which use case

Replacing S3 isn’t a single decision — it’s a usage × traffic profile matrix. Here’s the verdict, condition by condition.

You’re doing backup or archiving, volume > 5 TB, reads are rare: pick Backblaze B2. At $6.95/TB with free egress up to 3×, it’s the cheapest way to store a lot and read a little. Pair it with Cloudflare CDN (Bandwidth Alliance) if you occasionally need to restore without fees.

You’re serving web assets, running a CDN, or downloading more than you store: pick Cloudflare R2. Zero egress changes CDN economics — and native Cloudflare network integration gives you global latency with no additional infrastructure.

You want a simple, predictable bill with no surprises — and your objects live longer than 90 days: pick Wasabi. $7.99/TB all-inclusive, no API fees, no egress math. The 90-day minimum is the price of that simplicity.

You have an ops team, more than 50 TB, and latency or sovereignty matters: pick MinIO. The per-terabyte cost is the lowest on the market ($1-3/TB), but you’re trading dollars for SRE hours.

The only mistake would be not choosing at all. At $23/TB for storage and $90/TB for egress, S3 remains the industry standard — but its pricing has stayed frozen while the S3-compatible object storage market has matured. These four alternatives cover every use case, from backups to data lakes to CDNs, with an API your tools already speak.

References

The cyber brief, every Tuesday

The flaws that matter and the patches to apply, in a ten-minute read.

No spam. One-click unsubscribe.
read next

On the same topic

← Back to the feed

Type at least two characters.

navigate open esc dismiss