Monday, March 25, 2024

BackBlaze B2 vs Cloudflare R2 pricing

NOTE: I did not include Wasabi because their minimum price is $6.99 / month. I did not include Digital Ocean spaces because their minimum price is $5 / month. In contrast, it seems Backblaze does not have a minimum price (https://www.reddit.com/r/backblaze/comments/yv55eu/backblaze_b2_is_there_a_minimum_monthly_amount/) so if you store only a few GB then you only pay a few cents per month, which is perfect for my use case.

So I noticed some interesting differences between B2 and R2 pricing:

Backblaze B2

  • Ingress is free, egress is free up to 3x your monthly average storage, with any additional egress priced at $0.01/GB. You also get 1GB free egress per day.
  • Class A operations (PutObject, DeleteObject) are FREE
  • Class B operations (GetObject) - you get 2,500 free operations per day (== 75k/mth), then $0.004 per 10,000 ($0.4 / million)

Cloudflare R2

  • Ingress and egress are both free.
  • Class A Operations (PutObject) - you get 1 million free requests / month, then $4.50 / million 
  • Class B Operations (GetObject) - you get 10 million requests / month, then $0.36 / million requests
  • DeleteObject is free.

Summary

  • DeleteObject is FREE on both B2 and R2
  • GetObject is cheaper on R2: R2 gives you 10 million/month allowance and then charges you $0.36/million thereafter, whereas B2 gives you 2.5k/day allowance and then charges you $0.4/million thereafter.
  • PutObject is cheaper on B2: FREE on B2, whereas R2 gives you 1 million allowance and then charges you $4.50/million thereafter.

Based on the pricing info alone, it looks like if you are going to be doing millions of calls to PutObject per month and less than 2500 calls to GetObject per day, then B2 will be a lot cheaper for you. But if you are going to be doing millions of GetObject calls and less than 1 million PutObject calls per month, then R2 will be cheaper.

Of course we have to take the B2 egress costs into account too. If you are egressing less than 3x your storage, then egress is free, otherwise it costs $10 per TB, so I don't think B2 is suitable for file sharing - the B2 pricing structure makes it only really suitable for file backups. 

Having said that, apparently B2 egress is free through Cloudflare. Though I'm not sure exactly how to take advantage of it. Something to investigate if I end up actually using more than the free B2 egress, I guess.

If I do 4 million PutObject calls (e.g. 1-2 calls per second) that is going to cost me $13.50 per month on R2, whereas it would be free on B2. So I think, if I use R2, I would have to carefully think about how to reduce the number of PutObject calls.




No comments:

Post a Comment