I really wished Backblaze B2 worked better to be a real alternative to S3. The pricing is a middle finger to AWS and other providers.
However, we were having 1 outage per month with B2, and in the middle of 2023 we decided to go back to AWS and only use S3 for replication.
We still monitor both services simultaneously (S3 and B2), and every other month we are still having an episode where the latency rises from 15ms to something like 25 seconds for each write/read operation.
Full disclosure - I am Chief Technical Evangelist at Backblaze.
Backblaze B2 does include deletion prevention (object lock) and lifecycle management to automatically hide (soft delete) or (hard) delete objects according to a schedule.
The problem for us was the latency - sometimes it would take ~2s to serve an image. We ended up putting Cloudflare in front of it and that worked but might have actually been against their ToS (I know there have been some changes to it since then).
I have tried several S3 Alternative so far Wasabi has been the best...
I had some Latency and Bandwidth problems when trying to push alot of data into BackBlaze not terrible but slower than Wasabi it however was usable. Some of the other vendors I tried were not even usable
It depends. Cloudflare R2 has unlimited free egress; if you’re using a Cloudflare Worker already and proxying the download, then Backblaze B2 becomes cheaper again because egress is free and unlimited.
One useful trick is if you’re already using a Cloudflare Worker, you can force cache fetches to Backblaze B2 (or any S3 provider). This is allowed by Cloudflare’s ToS as you’re using a Worker.
My understanding is a worker isn't a way around that, they clarified that all in their blog here:
https://blog.cloudflare.com/updated-tos/
> Finally, we made it clear that customers can serve video and other large files using the CDN so long as that content is hosted by a Cloudflare service like Stream, Images, or R2.
> Video and large files hosted outside of Cloudflare will still be restricted on our CDN
It is a bit confusing, espec when they only enforce it at super high usage/when it becomes an issue, but makes sense that a Worker isn't a magical free pass when you don't get charged Bandwidth on them either
I continue to be super confused by this. The blog post says, as you quote:
> we made it clear that customers can serve video and other large files using the CDN so long as that content is hosted by a Cloudflare service like Stream, Images, or R2.
But when I click through to the specific CDN terms it still says:
> Unless you are an Enterprise customer, Cloudflare offers specific Paid Services (e.g., the Developer Platform, Images, and Stream) that you must use in order to serve video and other large files via the CDN.
A plain reading of this would still make me think putting the CDN in front of video files on R2 was forbidden. It is now clear that you can use (the very expensive) Stream to serve video, sure.
Yea.. the blog post and the terms don't exactly align. Looking at the Terms only, they say "specific Paid Services" and in the Developer Platform Terms, further say
> The Cloudflare Developer Platform consists of the following Services: (i) Cloudflare Workers, a Service that permits developers to deploy and run encapsulated versions of their proprietary software source code (each a “Workers Script”) on Cloudflare’s edge servers; (ii) Cloudflare Pages, a JAMstack platform for frontend developers to collaborate and deploy websites; (iii) Cloudflare Queues, a managed message queuing service; (iv) Workers KV, D1, Durable Objects, Vectorize, Hyperdrive, and R2, storage offerings used to serve HTML and non-HTML content...
Key part being the last bit there, they specifically call out products which can be used to serve non-html content as part of the Dev Plat, and Workers is not one of them.
Cloudflare employees in the past have specifically and repeatedly say CDN in front of R2 is fine, but nothing about Workers except really old posts that predate the ToS changes and the blog post.
Given that no Cloudflare employees chimed in when we talked about this last on Discord, seems they’re confused too.
I should probably use our enterprise support for once to get a clarifying answer..
Personally / my company is sticking with what the terms say, and not a blog post (which may not have been reviewed as heavily). Makes sense, since we agreed to the terms, not every blog post.
> they specifically call out products which can be used to serve non-html content as part of the Dev Plat, and Workers is not one of them.
Ah, but R2 is! My specific question was about whether I could serve video from R2 via the CDN... it sounds like yes, probably? They have not really succeeded in making their terms totally transparent here.
I actually have no opinion on how/if workers are involved...
You definitely can via R2. The blog post specifically says it, in my (not a lawyer) opinion the terms pretty clearly say you can by saying specific paid products can bypass the limitation, and the dev plat terms saying R2 is one of those specific products, and numerous employees have said it's fine, and I've heard cases of people pushing PBs of data per month without any issue.
I have no doubt about that at least.
It’s been several months since I last did any testing, but I do remember B2 being faster (latency) R2 when we did some benchmarks (small files only) with a Worker.
However, we were having 1 outage per month with B2, and in the middle of 2023 we decided to go back to AWS and only use S3 for replication.
We still monitor both services simultaneously (S3 and B2), and every other month we are still having an episode where the latency rises from 15ms to something like 25 seconds for each write/read operation.