The egress tax and the choice between Tigris, R2, and MinIO
Cloud egress fees can reach $473 for a 1TB workload on AWS S3, driving 84% of organizations to consolidate tools by 2026. Engineers must weigh Tigris's object-native distribution and compliance features against Cloudflare R2's CDN integration and Backblaze B2's low storage costs.
I watch engineers struggle with the egress tax when they move away from AWS S3. If you store 1TB of data and serve 5TB to users in a month, the AWS S3 bill reaches $473. Tigris charges $30 for that same workload. This massive difference exists because AWS charges $0.09/GB for data leaving its network after the first 100GB. This cost structure forces teams to seek S3-compatible alternatives like Cloudflare R2 or Tigris. For the AI inference company Fal.ai, egress fees at AWS once made up the majority of the entire cloud bill. In 2026, 84% of organizations plan to consolidate tools to manage these costs. 75% of engineering leaders cite cost as their primary observability and infrastructure concern. I see teams choosing R2 for read-heavy workloads because it costs $15/TB/mo for storage with $0 egress. R2 also provides 10 GB of free storage and charges $4.50 per 1M Class A operations. Tigris stays competitive at $20/TB/mo for standard storage but provides better distribution. Backblaze B2 remains the cheapest at $6.95/TB/mo, though it only has three regions: US-West, US-East, and EU-Central. B2 provides free egress through the Bandwidth Alliance with partners like Cloudflare and Fastly. Parseable, a telemetry datalake on object storage, uses Tigris to allow users to keep data for 12 months instead of 30 days. The entire engine runs on Tigris Data, a globally distributed S3-compatible store with zero egress fees.
Technical trade-offs in S3 compatibility
The decision between MinIO, R2, and Tigris requires looking at feature parity and consistency. R2 lacks versioning and object lock, meaning accidental deletes in R2 remain permanent. If you manage massive datasets that require strict regulatory compliance or object lock, you will find that Cloudflare R2 lacks these essential features, so you must look at Tigris or MinIO instead for your storage. R2 also charges $0.36 per 1M Class B operations. Tigris supports versioning, object lock, and multiple storage tiers, including IA at $10/TB/mo and Archive at $2/TB/mo. However, Tigris has its own operational hurdles. A fault-injection test by Antithesis identified a cache-coherence bug where a deleted object reappeared from an edge cache. Tigris also uses eventual consistency for cross-region reads, which can cause issues if your application assumes read-after-write consistency everywhere. MinIO provides a different path for regulated environments where data cannot leave local infrastructure. It runs as a single binary under an AGPL-3.0 license. For AI workloads, MinIO AIStor provides exclusive features beyond the community edition. Users recognize MinIO for its lightweight footprint of under 100MB and its ability to run in Kubernetes-native deployments.
| Provider | Standard Storage | Egress Fee | Free Tier | Key Feature |
|---|---|---|---|---|
| Cloudflare R2 | $15/TB | $0 | 10 GB | CDN integration |
| Tigris | $20/TB | $0 | 5 GB | Object-native distribution |
| Backblaze B2 | $6.95/TB | $0.01/GB (after 3x) | 10 GB | Bandwidth Alliance |
| AWS S3 | $23/TB | $0.09/GB (after 100GB) | 5 GB (12 mo) | Deep ecosystem |
Engineers who previously managed Uber’s storage platform built Tigris. I find Tigris a credible option because it has over 4,000 customers and data centers in Virginia, Chicago, San Jose, London, Frankfurt, and Singapore. Filebase, a Tigris alternative, delivered 4.7x higher PUT throughput and 3.0x higher GET throughput in benchmark testing. Filebase also starts lower on standard storage at $15/TB.
Decision logic for distributed workloads
I recommend Tigris for developers already using Fly.io. You can spin up a bucket through fly storage create and pay for it directly via your Fly invoice. R2 fits best if you want to leverage Cloudflare Workers and need a solution for read-heavy API serving. If you require the absolute lowest storage price for large volumes, Backblaze B2 at $6.95/TB is hard to beat. MinIO provides a standalone option for air-gapped environments or on-premises needs. I would skip R2 if your team requires the data sovereignty of specific regions or the compliance of object lock. You should decide based on whether you prioritize the lowest raw storage price or the lowest total cost of ownership after egress. Parseable uses Tigris to decouple LLMs from data gravity. If you need to mitigate the risk of data loss in Tigris, you can use the shadow-bucket feature to mirror every write to an S3 or R2 bucket in parallel. Will the growing number of AI agents generating massive telemetry volumes make Tigris’s object-native distribution more necessary than R2’s CDN approach?