Hacker News new | past | comments | ask | show | jobs | submit login
Will Cloudflare R2 Win Customers from Amazon S3? (taloflow.ai)
394 points by cloudfalcon on Oct 6, 2021 | hide | past | favorite | 198 comments



Personally I find Backblaze B2 more compelling.

... Ok, after writing that, I realized that I should probably look up R2's offering first. And then my jaw hit the floor at "free egress bandwidth".

Free egress bandwidth? Yes please.

I will instantly convert.

Then I was worried about price per GB. $0.015/GB is incredibly competitive.

Good lord, where do I get early access to this thing? I'd transition all our infra today.


According to their press release it says:

> That's why Cloudflare plans to eliminate egress fees, deliver object storage that is at least 10% cheaper than S3, and make infrequent access completely free for customers

A few elements of concern. It says they "plan to", so we don't know if this is near term or some moonshot type of goal. It also states earlier in the press release that the free egress frees are offered via the "Bandwidth Alliance", which removes bandwidth charges between member providers. While it is noteworthy that GCP (Google Cloud Provider) and Microsoft Azure are part of this alliance, AWS is not! So does this mean that egress fees will be charged if an AWS server requests the file?

I also don't know what to think about the statement that they plan to make infrequent access completely free... does that mean that I can throw files onto R2 for archive purposes and not pay anything? Because that is what it sounds like by that statement, but it obviously sounds impractical or too good to be true.

Original Press Release: https://www.cloudflare.com/press-releases/2021/cloudflare-an...


Hey, R2 PM here - there's no question that the product will have 0 egress charges, regardless of destination.

For archival use-cases, you do still pay us for data storage. We're referring to not charging for operations for infrequent access - we'll likely drop the stored data charge down too, eventually, but the current pricing is complex enough.


Ok, thanks for the clarification. After I wrote that statement about Infrequent Access, I was thinking about it more and realized that you probably pay for storage but simply have no access fees. In other words you don't really distinguish between storage tiers. I think that is good. S3 technically has 7 storage tiers, with all permutations of limited availability zone, reduced redundancy, infrequent access, archival storage, etc. While it is understandable that archival storage is unique (it is tape storage), the others just seem arbitrary and unnecessary.

I am an AWS administrator/architect for work so we are always trying to weigh pros and cons. AWS S3 is notoriously overpriced. This is a well-established fact. There are many other providers that offer comparable solutions (or even superior) such as the new R2. But we feel the effect of vendor lock-in because of S3's integration with other AWS services, which is what keeps a lot of people over-paying for S3. I think the auto-migration feature is potentially one of the best arguments for switching to R2.

R2 is undeniably a better value than S3. S3 requires me to select a region and optionally even limit an availability zone (if I need to keep costs low). CDN/edge locations are all extra cost via AWS Cloudfront. And the reality is many people are already using Cloudflare as CDN in front of S3 storage. So R2 just becomes a no-brainer at that point. I think it will be a successful launch. I am excited to try it.


"I am an AWS administrator/architect for work so we are always trying to weigh pros and cons."

Very informal survey ... but I wonder if you are familiar with the 'rclone' tool:

https://rclone.org/

... just curious ...


Thanks! R2 coming out with $0 egress is somewhere between unbelievable and literal-miracle.

I suppose my only skepticism is "but how fast can I egress?" -- if the bandwidth is 100x slower than GCP, it might dampen my enthusiasm a little bit. But honestly I'd still take a 100x slowdown if it means I can do long term archival without paying $200 just to download the data, soooo....

Anyway, cheers, and thanks for doing impactful work!


> R2 coming out with $0 egress is somewhere between unbelievable and literal-miracle.

Not necessarily.

A nearlyfreespeech noted when they changed to a charge-by-incoming-bandwidth model, links are still often bought symmetrically and for them the thing that eats the most bandwidth is incoming DDoS attacks, not legitimate traffic.

It seems to me that Cloudflare are likely to be in this situation except even more so.


(@CameronNemo: If you want to chat about it, you'll have to DM me on twitter. As you see, comments here about it are instakilled.)


I honestly can't see how it'd be profitable if someone were to host several TB worth of files that are very frequently downloaded. My fear with anything "free" is that once you actually use it A LOT, it will be pulled from under you. I'm a lot more comfortable with $0.001/GB than $0/GB.


At high request volumes there would be a per-operation charges, so not exactly free.

Backblaze (the consumer thing, not B2) has always had unlimited backups, and still does. One of their execs (Brian) posted a graph showing a backup space utilization histogram for all customers in 2018. The first few data points are:

30% use <100GB 15% use <200GB 9% use <300GB ...

So ~55% of their customers are using <300GB and paying $6/mo. On B2, their cloud storage product, $6 will buy 1.2TB of storage. Way more than half of their unlimited customers are paying 4x more for unlimited storage than they would if they paid for metered storage.

Interestingly, on that same histogram, are the last 2 customers: one using 293TB and one using 430TB. While IMO they are misusing the service, they are also an extreme minority. If that last guy was paying for that space with B2, it would cost $2150/month. Backblaze has said they just don't care. Now if it were half their users doing it, of course they would.

I can tell you one thing: R2 with free bandwidth is going to be a gift for the porn industry!


My guess is that carrier grade links are generally symmetrical and cloudflare's provisioning requirements are driven by incoming DDoS traffic, which makes the economics quite different than they would be otherwise.


Hey Greg, I was just talking to Sales about R2 yesterday, and they said that it was not live yet. Can you clarify availability?


> R2 is currently under development... We’ll be announcing an open beta where any user will be able to sign up for the service soon.

https://blog.cloudflare.com/introducing-r2-object-storage/#:...

In my opinion, expect 3-6 months for the beta, then maybe 2 years for GA. Storage at scale isn't easy, especially if they want to be comparable to aws in speed, SLA, data protection (ie. duplicated to 3+ physical data silos), etc.


Sorry to side track things, but I have a somewhat related Cloudflare question!

I'm using Azure, rather than AWS, and I hope R2 is available for Azure eventually too.

In the mean time, I came across a Cloudflare blog post from earlier this year that said you can use Azure's preferred routing feature to point to Cloudflare, which will result in "substantially cheaper" egress bandwidth fees. Sounded good, but when I looked at Azure's bandwidth pricing it looks like egress routed through Cloudflare is barely any cheaper, only 9% or so :(

The question: am I missing something, or is that paltry reduction really all Azure is doing?


This is rather offtopic, but what's with your documentation "code" fields being uncopiable? Those are the exact fields I need to copy!

E.g. https://developers.cloudflare.com/cloudflare-one/connections...


Wow, that's really weird. They seem to have specifically disabled it. You can use the userscript I just made for myself [1] as a workaround for now.

https://gist.github.com/selcuk/90ce1ce8b8d46c869efd6da24cde1...


It is really weird, yeah, expecially since the examples seem to be meant to be copied. Thanks for the script!


Not sure if it's been fixed, but works fine for me using Brave on Mac.


Same, same, same & same. :D


Will you be going after "abusive" hosts? Like if I wanted to use your services to deliver a successful podcast or a viral video I would be paying you pennies a month for storage, while taking up boatloads of bandwidth.

I am not planing on doing either, but I am just curious what you would do about it?


If the requests /sec are over the free limit, you'd be charged.


>While it is noteworthy that GCP (Google Cloud Provider) and Microsoft Azure are part of this alliance, AWS is not! So does this mean that egress fees will be charged if an AWS server requests the file?

The bandwidth alliance means when Cloudflare requests a file from GCP, GCP won't charge you egress. Cloudflare will then deliver your file to your customer for free.


small correction: gcp will still charge you but at a reduced rate.


Do you know how much the discount is? I was looking into this regarding Azure just yesterday, but it looks like they only discount the egress bandwidth by a pitiful 9% or so.


I think they mean the cost for access would be completely free (if not accessed much) but not the storage as those are separate fees.


Responding to a deleted but interesting comment. Normally I wouldn't do this, but it's harmless enough:

> Backblaze B2 transfer to Cloudflare is free egress due to bandwidth alliance and Cloudflare CDN is free egress. So you already kinda have that.

Hmm... What does it mean to transfer to Cloudflare? That's interesting.

I want free egress to my Hetzner servers. (4x16TB for $79EU/mo is unbeatable, primarily because Hetzner also has unlimited free egress bandwidth.)

But if Cloudflare offers servers, I should look into that. Do they? Even if they do, what's their egress pricing?

Thanks for the tip!

(I've been wondering about B2's mysterious "computing partners" -- their computing partners get free egress, so it seems entirely plausible that Cloudflare might be one such computing partner. I just didn't realize that Cloudflare might do computing at all -- in my head, they were a proxy, not a server farm.)


They offer a serverless platform.

If you want free egress, you can check Wasabi: https://wasabi.com/cloud-storage-pricing/#three-info


I've been using Wasabi for a project where cost is more important than anything (i.e. a side project with reasonable scale that can't accept income) and on that front it is great. (S3 costs have been atrociously high to us sometimes.) For CDN-type resources we do a Wasabi bucket with Cloudflare with caching set very high. Reliability has been the only problem; it's not awful by any means, but there are a lot more "hiccups" using it. You get what you pay for, I guess.

That said I'm looking to see if just using R2 is a big improvement. It'll cost more but the reliability and performance might be worth it for us.


Wasabi charges for your largest file for 3 months.

You only get "free" egress for the size of your storage.


Correction: Wasabi charges 3 months storage for all files. If you upload a file and immediately delete it, you pay for that storage for 3 months.


Thanks for pointing this out!


Vultr is a Backblaze compute partner. I've used both for years and never had a problem.

Another nice thing about B2 is that they have a 1GB free daily egress allowance, which is handy for backup programs. HashBackup (I'm the author) uses that for downloading and repacking backup data to optimize storage efficiency.


As mentioned in another comment, don't forget to consider B2's weekly 2 hour maintenance windows during the US work day: https://www.backblaze.com/scheduled-maintenance.html


This was the reason we ended up moving away from B2. It may be durable but their storage isn't a drop-in replacement for S3 or similar products. They are really an S3-compatible target for backup softwares.


This would be fine for an automated system that could schedule requests or could fail, wait 30min, and try again. But it would be unusable by a human working interactively. You would constantly get complaints and monitor warnings that your "system is down".

I don't mind services that cut price dramatically in exchange for only supporting some (not all) use cases. That can be a very attractive offer, but does Backblaze explicitly position B2 for non-interactive use cases?


Yev from Backblaze here -> that maintenance window doesn't shut down the B2 Service each Thursday for two hours. We have lots of companies like Kanopy and Cloudspot that use us as an origin store without issue!


We will see in practice how it is. As the article suggested, there are often caveats to "unlimited" and honestly I don't even think they have written unlimited anywhere :)


I think that when CF say unlimited bandwidth they really mean it. I manage a domain on the business level plan for a domain and I pushed over 1PB through it in January. Not a single complaint from CF and no sales calls pushing enterprise tier.

They haven't clarified their file operations costs yet though. That could get pricy but will more than likely be cancelled out by the egress savings for most use cases.


Not saying your experience isn't true, but I've heard horror stories of accounts being disabled for using too much "non-HTML" bandwidth, even on business level ($200/month) accounts (at the single digit TB level). The limits seem to be arbitrary and ill defined.

CF may be great technically, but I personally wouldn't use them without an enterprise agreement in place. Bandwidth should be cheap, but cheap does not equal free.

Unless I had an enterprise agreement in place I'd rather work with a vendor that has a well defined usage-based pricing. I have a low appetite for risk, and usage-based pricing aligns incentives properly IMHO.


Yes, you are right that an enterprise agreement is probably the safest approach and it's definitely something we have looked into since the beginning of the year.

In our case, one of our games DAU went pretty crazy last Christmas which resulted in a huge increase in players (who all need to download hundreds of MB of data). Maybe if it'd continued for many months the situation would be different and that angry email from CF would have eventually arrived.


Yeah, that's why I haven't dared put them in front of my B2 buckets, even though they have the Bandwidth Alliance.


> I personally wouldn't use them without an enterprise agreement in place

That would depend on the use case I'd assume.


How long ago was that?


Came across these 3-4 years ago when I was doing research on whether CF would be viable for a previous company.


>As the article suggested, there are often caveats to "unlimited" and honestly I don't even think they have written unlimited anywhere :)

CF already talked about egress pricing here https://blog.cloudflare.com/aws-egregious-egress/

i would say that when they talk unlimited, they actually mean it.


Precisely my point is that I haven't seen "unlimited" mentioned either in the R2 announcement nor on your link. So it's not unlikely that it's going to be free egress up to X GB per month (possibly with X high enough that it's still cool)


Did you have a look at rstor.io? They have free egress and even lower storage costs and also don't seem to charge for IOPS. Not as high profile as Cloudflare though.


Thanks! I'd never seen them. The only minor catches that I've seen are that they want you to start the account with $50 or more added, it's $6 per TB per month (rounded up to the nearest TB) with a 90 day minimum duration, and you're allowed 1TB egress per day for each TB you have stored.

They were also acquired very recently[2] though no clue how that might impact things.

I'm fine with all those except the pre-loading $50 just to test, though that's as I want to test it personally. If I were using a business account that's not as much an issue.

[1]: https://console.rstor.space/pricing

[2]: https://www.yahoo.com/now/packetfabric-announces-acquisition...


”you're allowed 1TB egress per day for each TB you have stored.”

Where did you find the reference to 1TB per day?

On the page it says:

“1 TB of data egress for every 1 TB storage capacity used”

I would have assumed this is per month.


You're right, I misread it and now can't edit my comment. This puts it all in quite a similar position to Wasabi[1] who have a 1:1 storage:transfer ratio per month and a 90 day minimum storage duration as well. In fact, their price per terabyte is almost exactly the same ($5.99 for Wasabi vs $6 for Rstor).

It's a shame as I love aspects of this type of storage service, even with the caveats, but they're not useful if there's no way to pay more for excess transfer. Luckily I think R2 fits that requirement (though paying for more operations vs paying for more transfer).

[1]: https://wasabi.com/paygo-pricing-faq/


That's interesting... When talking to their reps I mentioned Wasabi and asked if they have similar limitations and they said "no". I wonder if enterprise customers are treated differently?


From the pricing page I linked to[1]:

> There are no charges for outbound data transfer when using a dedicated network connection to the RSTOR network and direct peering is established. These connections are charged separately. To find out more please contact us.

I would imagine for enterprise customers you might either be using direct peering / similar or they're able to charge based upon ballpark bandwidth usage. Otherwise I'm unsure as it does seem quite in line with Wasabi otherwise.

[1]: https://console.rstor.space/pricing


Also Wasabi is worth checking. Free egress cheap prices. https://wasabi.com/cloud-storage-pricing/#three-info


If I recall correctly, that's only good up until the total storage. So if you store, say, 100GB of files total, you only have free egress up until 100GB/month


Exactly... also, they have like a 3 month minimum storage time on a lot of their plans.


I haven't! Thank you for the tip!


Free egress is huge for my data pipeline workloads. I hate getting silo-ed into a single cloud provider, because my data lives there and it's too expensive to run the compute jobs on another cloud due to the cost of moving the data.

For example GCP has a much better Kubernetes offering than AWS, but everything's native to S3. So you get stuck using crappier products. If R2 offered free egress, I'd move the entire data lake there just to sidestep this problem.


OVH storage is $0.0112/GB and egress is just $0.01/GB. Having egressed priced out is handy because then you can just use it directly.

With Cloudflare you'd have to pay for the CDN separately for any real traffic amount.


Backblaze, IIRC, doesn't distribute data across multiple regions.


B2 to Cloudflare egress is free, they are both part of Bandwidth Alliance: https://www.backblaze.com/b2/solutions/content-delivery.html



B2 is also a lot slower egress than S3, by maybe an order of magnitude.


I'm author of HashBackup and regularly run performance comparisons between object storage services. While I agree than S3 performance is generally better than B2, I personally have not seen a 10x difference in egress performance.

Here's a test I recently ran comparing S3, B2, and Storj. The test uploads a 700MB backup, downloads it and rebuilds a database, then removes it. The test was run on a small 1 CPU, 512M Vultr VPS.

  S3 upload: 20.6s
  S3 download: 26s
  S3 remove: 1.2s

  B2 upload: 28.2s
  B2 download: 28.7s
  B2 remove: 4.0s

  Storj upload: 34.7s
  Storj download: 75.3s
  Storj remove: 20.6s
B2 does have higher latency than S3, so for short operations like removing objects, S3 has higher performance. If your egress load is for a lot of small objects, I could see B2 being a lot slower. This shows up in my tests where removing 14 backup files is more than 3x slower on B2 than on S3. But even for this, I've never seen 10x slower.

A footnote: the Storj tests are with a new driver so those numbers are preliminary results.


Egress means files being requested, right? Is there a charge for sending files to the server (ingress)? Does this mean the only charge is the storage space?


This was one of the most surprising things, to me, before I learned about any of this stuff.

inbound traffic (ingress) is free, almost universally.

outbound traffic (egress) is $insane, almost universally.

It's where most of the cloud providers make most of their money, as far as I can tell.

I'm a fan of murdering egress fees, so therefore I am a fan of whatever Cloudflare R2 turns out to be. As long as they get rid of egress, I'll cheerlead them for life.

(To answer your question more directly: "yes, I think so. At least in my experience.")


I googled what egress meant.

> when that data is retrieved from the cloud, providers will then charge large fees; this is what’s known as a data egress.

There are many cloud providers seem to be not charging for egress.


No, most cloud providers do not charge for ingress, but charge heavily for egress.


I didn't mention or didn't know what ingress is.

The full excerpt [0]

> Most leading cloud providers allow their customers to input data into the cloud for free. However, when that data is retrieved from the cloud, these providers will then charge large fees; this is what’s known as a data egress.

Here is what I found out about ingress [1]

> Egress in the world of networking implies traffic that exits an entity or a network boundary, while Ingress is traffic that enters the boundary of a network.

[0] https://wasabi.com/help/glossary-of-terms/egress-charges-def...

[1] https://aviatrix.com/learn-center/cloud-security/egress-and-...


no worries, it was all quite confusing to me too. I never had to worry about any of this stuff till accidentally racking up a $600 charge in one day by using a TPU pod to train on data in the wrong region.

Here's the rule of thumb: https://news.ycombinator.com/item?id=28775836

> inbound traffic (ingress) is free, almost universally.

> outbound traffic (egress) is $insane, almost universally.

so think of it like, teleport yourself to S3's servers. Any data that comes in, you charge $0. Any data that goes out, you charge $massive.

This seems to be true for almost every provider I've found. Hetzner is one of the rare exceptions. If you need a server, get a Hetzner dedicated box, because it's unlimited traffic (both ingress and egress). It powers https://battle.shawwn.com/ (big dump of files).

I'd love to store things in S3 or GCE, but it's a non-starter, because transferring between GCE to Hetzner would cost $0.12/GB downloaded. 12 cents per GB! It doesn't sound like a lot till you do the math on 22TB.

Hence, R2 is incredibly appealing. I'd love $0.015 per GB storage cost + free egress, because it means I can download as much as I want to my hetzner server. Meaning, I don't need to worry about my hetzner drives failing.


IMO, the best feature Cloudflare added to R2 was the automatic migration. This makes sense for a CDN to offer, but if R2 works, this makes it pretty simple to migrate.

"After specifying an existing storage bucket, R2 will serve requests for objects from the existing bucket,"

I've Beene evaluating R2, but this migration path makes it dead simple to use. I just point my code to read/write from/to R2 instead of S3, and I'll get egress fees from AWS during the migration, but then that's it?


> I just point my code to read/write from/to R2 instead of S3

This is probably worse for CloudFront than for S3 itself.

Double paying for storage is still going to be cheaper than egress fees overall.


Good point about double paying for storage. There's a long migration problem here to clean up. Most of my buckets have some frequently and some very infrequently accessed objects. To address this, there needs to be some sort of an active migration tool? Does R2 have this built in?


I’m not sure exactly what you mean by active migration tool, but my understanding is that they copy objects from s3 to r2 on the first request. So if you have infrequently accessed objects they won’t be copied and you won’t be double paying storage until it’s first requested.


Just an idea, maybe the first fetch from S3 should be allowed by R2 do delete the original object from S3 too, so that eventually we're only left with two mutually exclusive sets of files (and no double storage)


I thought about that too. It's could be a good solution because the challenge otherwise is going to be listing all objects in the bucket and comparing to what's in the R2 bucket, right?


Based on what I’ve seen in this convo:

- Set up the S3 mirror into R2

- Migrate your code to read from R2.

- Set up SQS to populate with S3 Create events. SQS listeners just make a GET request to R2 for that file.

- Generate S3 events and populate SQS by running List operations or by abusing S3 Lifecycle Management.

- Let it process.

- Switch writes to R2.

This all assumes you can’t delete from S3 till R2 is fully ready. Depending on the application, you could switch over writes to R2 in a different step and also possibly delete the S3 file in the SQS processor.


I like Cloudflare for its CDN, but considering its competitors and migration effort I think that only time will tell.


hard same, the automatic migration is a big deal!


insert doubt


Why would you doubt it? Cloudfare is a legit company and a migration workflow like this does not sound like a feat of engineering to accomplish


What part is OP missing?


Maybe the point is that just having the S3 and CDN isn’t enough to move customers.

If you’re using AWS, S3 (and Cloudfront) it will just be a tiny part of your infrastructure, why would you move that out of AWS and lose the integration coming from having everything in AWS?


Because it's significantly cheaper and diversifies your presence across multiple providers.

It's a good idea to split origin and CDN, this way requests can be served from cache while origin is down or overloaded.

Plus I'd challenge the suggestions that S3 and CDN are a tiny portion of the infrastructure. For a lot of sites it's a significant chunk, things remaining wouldn't be many, maybe compute, DNS, and CI.


> diversifies your presence across multiple providers.

In this case, for most AWS/CF customers, that diversification is of the "downtime on either represents downtime for their customer" variety. (I'm still a fan of this offering and the pressure it put on the current high price of egress bandwidth, of course.)


If S3 was down would R2 be down for the customer?

If R2 was down could you re-route back to S3?

Diversifying infrastructure provides additional options to mitigate outages.


If S3 was down, R2 would be up but the rest of your app on AWS would probably be down in the affected (based on the cascading failures in prior S3 outages) so most AWS users are going to be down.

If R2 was down and you didn’t rely on anything else that relied on R2, sure, you could repoint DNS and/or issue S3-direct URLs and then clean it up on the way back out.

“Additional options” doesn’t come without “additional complexity” and that complexity has a cost.

R2’s a great cost-saving move here; I don’t think it’s a reliability improvement generally.


It might be only part of your infrastructure but on many projects it’s a significant fraction of your total expenditure and storage egress is one of the things limiting use of external services. Having a cheap data access option makes it easy to reconsider those choices when you don’t have to factor egress into the cost of trying an alternative.


> Double paying for storage is still going to be cheaper than egress fees overall.

because of this?


There are many applications that have no dependency on AWS at all, other than S3. This is one of the reasons projects like Minio exist.

If you don't care and just need some blob storage, this could be great.


Zero egress costs for assets is a very strong reason for people to move. For public assets, it's a complete no-brainer.


I kinda think people will use the S3 proxy feature of R2 for that, which doesn’t really move customers over.


Then why not store it on Cloudflare itself and save on half the storage, plus less latency?

Makes zero sense to keep public assets on S3 in this case. Only when you need ACL integration or glacier would S3 make sense.


This article touches on the one major unanswered question I have about R2: CloudFlare's CDN ToS make it clear CF is meant to host websites and APIs, not content downloads [1]. Does R2 have similar ToS? It's reasonable that CF doesn't want R2 customers that use 500MB of paid storage and 500TB of free bandwidth, so what is acceptable use?

[1] The Services are offered primarily as a platform to cache and serve web pages and websites. Unless explicitly included as part of a Paid Service purchased by you, you agree to use the Services solely for the purpose of (i) serving web pages as viewed through a web browser or other functionally equivalent applications, including rendering Hypertext Markup Language (HTML) or other functional equivalents, and (ii) serving web APIs subject to the restrictions set forth in this Section 2.8. Use of the Services for serving video or a disproportionate percentage of pictures, audio files, or other non-HTML content is prohibited, unless purchased separately as part of a Paid Service or expressly allowed under our Supplemental Terms for a specific Service.


The CEO (eastdakota) has previously said the clause does not apply to services like Cloudflare workers on this very site (https://news.ycombinator.com/item?id=20791605). I also think the phrase “Unless explicitly included as part of a Paid Service purchased by you” carries a lot of weight here.


Cloudflare's CEO (eastdakota) has said publicly that that section doesn't apply to R2 and that they'll update their TOS to clarify: https://news.ycombinator.com/item?id=28682885


Slight miscalculation which should have been obvious:

"For example, Backblaze B2’s free operations threshold is capped at 2,500 a day, and if R2 simply let you make a GetObject request every second of every day, that would be something like 86,400 FREE daily Gets, which would cost ~$335 daily on B2 or $122,000 a year."

Backblaze B2 Class B operations are priced at $0.004 per 10k operations which the author did not take into account, so the calculation above is off by a factor of 10,000. The real cost for 1 GET per second for a whole year on Backblaze B2 is $12.59.


You're right. This is a silly mistake on my part in rushing out this piece. I apologize. Thanks for pointing this out -I've since taken out the paragraph.


why rush a piece?


Cloudflare R2 is topical right now - that was the motivation. Not saying it was the right strategy to do so (clearly not given the mistake).


[flagged]


I'm following good form. No silent edits were made. There has been an Author's Note in that paragraph the entire time since the change acknowledging the miscalculation.


More clicks?


I wonder how this compares with Wasabi. I was very bullish on them a few years ago.


I've tried a bunch of the cheap / unlimited players. Any claim that they offer what S3 offers is usually totally and completely false. Either bandwidth is not actually unlimited or its terrible quality, or storage is not reliable or or or.

With S3 I've never had a problem with data loss. Eventual consistency stuff was totally annoying back when that was the way they did things, though that was documented. Dev support is strong if you are paying for it if you have a config issue. WORM support is great in key areas (regulatory, ransomeware protection for backup durability etc).


There are cheap players and there is Cloudflare. Cloudflare is on a very different level.


Wasabi has the most horrendous reliability record of any provider I've ever worked with. Uploads will be broken for days at a time with no status posted, downloads will flake, it's just not a competitive solution for consumer-facing storage.


Wasabi is a clown show brought to you by the Carbonite guys. I wouldn't trust it at all given their track record.


What is bad about their track record?


In any comparisons with B2, don't forget to consider that they have a 2 hour maintenance window every Thursday during the US business day: https://www.backblaze.com/scheduled-maintenance.html

They usually don't go down during that time, but sometimes they do and their support told us to always expect outages during this time.

If you need your B2 data available during those windows, you'll need to also set up a failover data source for those times.


I think this question misses the point. Few organisations use just S3 - they use the entire AWS ecosystem, of which S3 plays a central part. The biggest blocker for most enterprises is probably AWS IAM integration.

With S3 I can write a bucket policy that references roles that can be assumed by instances, Lambda functions, people via SSO etc.

With R2, I now need to worry about how to securely distribute credentials to access the buckets, how to rotate those credentials, how to ensure they don't leak. It's perfectly do-able, but it means AWS are always going to have the upper hand.

I'm excited to see some real competition in this space, but switching to R2 has some significant blockers at present. If I was working for Cloudflare on this product, I'd be focusing my effort on how to make integrating R2 with AWS services as simple as possible. I definitely think it's do-able, but it's going to need a team all of its own.


Fair point, my previous organization also used IAM extensively and I don't know how we could have fulfilled our compliance requirements without it.

That being said, in that case you pay what you get for. S3 is not just storage, it's integrated with the rest of the AWS ecosystem.

But if you write a small service/product that just needs to store and transfer a lot of data 1) IAM is not needed and almost more a burden but 2) you can have it cheaper elsewhere e.g. R2 now


I think you overestimate the number of people who want to so lock themselves into a particular provider that they would use that provider's auth systems.

There are lots of different use cases for lots of different things. Since Cloudflare doesn't have the compute-type services that AWS has, rather is more specifically aimed at web-serving type services, I think their design here makes a lot of sense.

As a user that Cloudflare would target (someone who works on web sites and web-based apps), IAM is an annoyance to me that I would gladly not use on AWS if I could just toggle it off and replace it with a simpler permissions system.


Seems like a person could create an unbelieving cheap podcast hosting business (Simplecast, Transistor.fm, etc) on the back of R2.

For those unaware, the primary infrastructure cost of these businesses is serving up mp3.

Much like what YouTube does for video.


Exactly this! with https://reason.fm I am going to try and see if I can migrate our services to R2, right now it's pretty doable with S3 or GCloud storage at scale but we can definitely get our costs down with R2!


I'm aiming to do exactly that with hosted.fm as it happens :)

Using B2 and CF workers to keep costs low currently but if R2 is as good as it sounds I have no reason to write any overages billing code. Lovely!


Hi, I'm LV, I wrote this post. I co-founded Taloflow to make choosing cloud vendors transparent and easy.

I'm curious to hear what factors HN readers think I missed and if you think Cloudflare R2 will be a threat in the cloud object storage market place.


What do you think of the above comment which indicates you overcounted B2's costs by a factor of 10,000?


They are right. We addressed the comment and fixed the article.


Let's say you sell a data product that generates around 1TB per day, which is downloaded by every customer once. On AWS/GCP, that's roughly $80/day/customer in egress costs, which would make the minimum pricing of the data product $30K/year to break even SOLELY egress, assuming each customer only does the download once.

It's basically not possible to offer something like this on AWS or GCP, you have to run your own server somewhere with flat bandwidth pricing. If I were still in the data business, I'd absolutely be moving everything to R2.


What I want to see is Cloudflare enable hosting static websites on R2. For me that would be an absolute game changer.

I know you can already host websites on Cloudflare using another service but I want to see R2 get enabled.


We've heard this a few times and will support it :). Also, shameless plug for Cloudflare Pages to host on CF today.


I'd like very much to use Cloudflare Pages but I don't use GitHub due to the fact that GitHub continues to provide services to concentration camp operators. Can I lodge a request to support arbitrary git fetch URLs with a user-supplied deploy privkey? (I self-host Gitea.)

Right now I'm using Netlify and the Netlify CLI lets me upload my static site post-build from CI (which is hooked up to my repos). I've got CF in front of that, but I'd much prefer to keep it all in CF.


I recently deployed a small, static site using a Cloudflare Worker Site, using the Wrangler CLI tool to publish it - I'd never used Cloudflare Workers before, but it was easy, and whole dev UX from start to finish was superb!

I looked into Cloudflare Pages first, which on the face of it would be a better fit - but AFAICS it can only deploy from code hosted in a GitHub repo. Not even git in general, but specifically only with GitHub - and I'm using Azure DevOps.

I'd love to see additional deployment mechanisms for Pages - ideally support would be added to Wrangler, so I could deploy from a CD pipeline hosted anywhere, just like I can for Workers.


Thanks Greg,

You just made my day!


Yes. The instant I get access.

This plus CloudFlare Workers might replace quite a few AWS S3/Lambda projects.


There are simply too many object store vendors, with different storage pricing, egress pricing, network speed, and reliabilities.

What about using SeaweedFS gateway to remote object store? https://github.com/chrislusf/seaweedfs/wiki/Gateway-to-Remot...

Basically you can think it is a cache. You operate with normal S3 APIs, and the data will be uploaded to remote storage asynchronously (most vendors have free uploading).

It's not a magic pill for all users, but it should be very fast, and cut down the API costs, egress costs.


I'll take a look at this for a future content piece. Please email me austinpena \[at\]taloflow . ai if you've used it, I'd love to hear your thoughts!


I think AWS backed themselves into a corner with their extremely high egress charges. I would wager that a pretty considerable amount of their revenue is from egress, so if they have to reduce egress pricing, it will take a pretty big chunk of their revenue.

Of course, I could be completely wrong. I would certainly welcome a correction.


I wonder what fraction of AWS revenue is providers of complementary services that are forced to host at AWS so their AWS-using customers don’t have to pay for egress.


Half of my AWS spend every month is egress...


Where are all the Backblaze marketing folk? :) B2 has an offer at present where they will eat the cost of a one-time S3 egress in exchange for a 1 year storage commitment. This offer is much more transparent, although I do still admire CloudFlare's strategy here.


Echoing this. We've just made use of that very offer to shift >2billion objects (120TB) from S3 to B2. Migration took over a month but we weren't billed for any of it and are very happy so far.


Just curious, were you optimising for storage or serving costs, and were the expected savings realized? I've been itching to try live serving out of B2, but its latency jumps around quite a lot, and the hot cache layer does not stream large (>100MB) objects during first fetch, so it's not without some downsides.


The objects we moved to B2 are essentially archive material and not expected to be regularly accessed, so it was purely a cost optimisation. We'll be adding another ~50TB per year to B2 so we expect the long term savings to be significant versus leaving these objects in S3. Because of the object count (and per object size), moving them to Glacier was not an option.


"Your margin is my opportunity." - Jeff Bezos


I don't see excatly how the r2 model will be viable, you basically have a free CDN. I don't see that staying that way.


You pay for storage. Only , not as much as what AWS charges.

Cloudflare has a business model where they can basically handle any network load you throw at them.

They are monetizing their advantage here by allowing you to make full use of their network as long as you make use of their paid storage as well.

The margins in the cloud business and AWS especially are breathtakingly large and yet, considered affordable by enterprises so far because the alternative of standing up your own compute and networking capacity is not just significantly expensive, there just isn’t enough talent available in the world to go around for every enterprise to have a decently staffed team doing so.


Cloudflare still has to pay for transit, so I don't see how hosting a 1GB video being served multi TB per month will work for them.


Cloudflare have a great blog post about this: https://blog.cloudflare.com/aws-egregious-egress/

The short answer is that at AWS/Cloudflare scale you’re paying a fixed cost for networking capacity, not for transit per byte. So their cost doesn’t scale anywhere near the way AWS egress costs do, and if they want it can just be free.


Yup, precisely. They buy “capacity” ie the equivalent of making an infrastructure investment. AWS does the same.

Now, AWS chooses to price their network usage as a utility, ie, you pay per unit of data transmitted. This is ridiculous for enterprise scale.

Cloudflare uses their purchased capacity as a strategic differentiator by basically letting you use as much as you want because they have so much purchased, you wouldn’t ever make a dent.

Any services behind this differentiator are what they can charge for. Like I said above, the margins in cloud are ridiculously high. This is why these companies are amongst the few in the world valued over a Trillion dollars. Throw in an upstart who has the strategic advantage and technical competence that Cloudflare has and boy, do we have a winner . The next few years will be very interesting.


How is Cloudflare gonna coup up the price? These numbers are too good to be true (Sorry I am naive in how egress pricing works).


They're trying to drive up their volumes in the hope of obtaining more peering.

This is evidently the core of Cloudflare's business strategy, emerging in practically everything they do tactically; from Matthew Prince having an epic public sook earlier this year about AWS's network team telling him to jump in a lake, to this. Peering drives down the marginal cost of bandwidth, and this is super relevant since Cloudflare's main value-add product is DDoS mitigation. Unless you're an incumbent tier 1 carrier (which is the hereditary royalty of networking), the classic ways to obtain more/better peering are either have the most eyeballs, or the most content. A typical access ISP takes the former approach, a CDN like Cloudflare takes the latter.

As usual, free anything means you are the commodity being traded on.


Source on the lake thing?


Not a literal lake, that's just a colourful metaphor for being rebuffed.

The fact of it is evident from the Cloudflare blog, but I don't particularly recommend giving that the time of day, since as with all content marketing it is also self-serving humbug.


Bandwidth is very cheap [1], cloud providers gouge. Cloudflare is using this product to disrupt other cloud providers and pull business from them.

[1] https://news.ycombinator.com/item?id=28682237


Yes basically. In networking everybody except for people living on a CSP buy bandwith/ports not bits moved. AWS egress is fabulously profitable specifically because they’re ripping you off vs even a very expensive colo.


They charge three times the cost for storage compared to B2 etc. Egress bandwidth in a datacenter costs around $7/TB for you or me, probably far less for a company like Cloudflare that's built around handling huge traffic volumes.

Similarly they can use slow storage for most files and use their existing caching solutions for storing frequently accessed files.

They'll probably lose some money on customers who use lots of bandwidth, and make lots of money on everyone else.


> Egress bandwidth in a datacenter costs around $7/TB for you or me, probably far less for a company like Cloudflare that's built around handling huge traffic volumes.

Funny thing, paying for egress bandwidth is not something you do if you handle your own peering and other internet infrastructure. Paying for bandwidth is something that the cloud providers came up with to add further margin. So they likely pay $0/TB for that bandwidth.


CloudFlare has a good blog post on this, but effectively they pay for megabit/s capability.


Which is not that different from paying by the TB, as long as you are big enough that your traffic isn't too spiky. If you assume that over the day/week Cloudflare's your bandwidth usage moves between 0.5x and 1.5x of the monthly average, then paying for 1 TB/month is basically the same as paying for 4.5 megabit/s (1TB/month == 3Mb/s, multiply by 1.5 for peak demand).


I skipped this and read the original announcement. Cloudflare has some serious skin in this game it seems - definitely earned raised eyebrows.

The migration bit alone is going to be enough to motivate PMs and devs to switch. The free egress seems insane from a business perspective but if Cloudflare wants to do it them I'm all for it.

Very cool.


I'm glad the article pointed out Q1 as the next opportunity


I don't think that goes far enough. So I made this

https://object-storage-name-generator.com


Reminds me of this old Dilbert cartoon: https://dilbert.com/strip/1998-12-12

"I would have synergized harder, but I got tired of clicking the button!"


Haha! I need to work on my Start-Up slang if a Dilbert beat me to the punch by ~23 years


What about P0?


And O-1


Removing egress is awesome

> Except you can put R2 in front of S3 and set it to "slurp" mode. That way as objects are requested through the normal course of use they'll be stored in R2. You can then keep S3 as a backup, or delete the objects that have moved over. Being a proxy is cool.

https://news.ycombinator.com/item?id=28703464

Note: I think it's pretty obvious that they are very pro AWS. I saw a lot of positive comments and very few negative comments here. Reading the blog post makes it look like it was the inverse.


I've commented elsewhere, and I'll comment here again: Cloudflare R2 is really a re-packaging / re-positioning of how most customers were using Cloudflare's CDN in the first place: As a low-cost content delivery network. As a small tech shop, we front S3 with Cloudflare (not CloudFront, because it's relatively expensive) for binary downloads, and pay single digit $ to AWS and $0 to Cloudflare. If we were pushing blobs through S3 + accelerated buckets; or S3 + CloudFront; or S3 + transfer-acceleration, our AWS bill would have been 3x / 5x.

Relying on Cloudflare to do tiered-caching / transfer-acceleration afforded by tight integration between its CDN and R2 would lead us to drop S3 altogether for our workloads.

We've also experimented using Workers KV as a blob store (it has a cap of 25MB per key; costs $5 per million writes, $0.5 per million reads; $5 per 10GB of storage; zero egress fee) and its pricing comes out cheaper than S3. We'd have moved to KV already if R2 hadn't been announced. Now, we think it is prudent to bide our time till R2 goes public.

But: we are a rather tiny tech shop and agonize over bill items like egress; most enterprises worry more about data security, compliance, and integration with big-data tools (like EMR, Athena, Firehose, RedShift etc). So, I am not sure if there'd be an exodus off-the-bat (at least not until Cloudflare has equivalent integrations / services in-place [0]). Though, I can see why companies like smugmug (who have been using S3 since 2006!) may move.

The killer here is, R2 will sweep away dev shops at the low-end of the market. If anyone's starting a bootstrapped SaaS company, not only does Cloudflare becomes the place for them to prototype a MVP (as opposed to AWS/Azure/GCP) but also an integration point for their offerings (consider: a Tableau competitor + R2) [1]. As noted by Ben Thompson a few days ago, there's little AWS can do despite knowing what's in store, other than cannibalize their own business (which they're not afraid to do!) [2]. We are entering uncharted waters here: Two companies fully drowning in HBS credos going after each other. Wonder what Clayton Christensen would have thought of that.

[0] https://en.wikipedia.org/wiki/Complex_contagion

[1] https://en.wikipedia.org/wiki/Scale-free_network

[2] https://stratechery.com/2021/cloudflares-disruption/


A big difference is that it was really scary to run up against their non-HTML content policy, which I presume isn't the case with this new object storage.


Won't be surprised if AWS counters this sooner or later in terms of reducing egress fee, but the fact that S3 is core to AWS's eco system and ties in well, is another blocker for migration


We used DigitalOcean Spaces for some time, but it works very slow. Every few requests we get 500-5000ms delays. So we switched to Amazon S3 and it works much better. So when I first saw R2, I was sure we're gonna migrate as soon as we can. Post mentions that Backblaze and Wasabi offer better prices, but I couldn't find any reviews at the time when we migrated to amazon. Is it gonna work as DigitalOcean? How often there's downtime? Does anybody use them and has opinion?


We did the same transition, but from BunnyCDN (their push option) to S3, but didn't see the level of improvement we wanted. Then we tried Google Storage and hoooly crap it blows s3 out of the water. Cloudflare seems like it's the only remaining player who could compete with them on both quality/speed and price.


R2 only seems to offer better price than S3. If people using S3 were caring so much about the cost they wouldn't use S3 in the first place. So my bet is that it won't change anything for S3

I also bet it will not change anything for B2. They will still be cheaper than R2

It always funny to see people on HN thinking that price for enterprise companies is a critical factor. It is for some, but for most of them (especially the ones using AWS) it is not


All the alternatives for 11 9's durability object stores have similar prices to S3. There aren't any alternatives.

Wasabi gets close, but their 1:1 storage to egress ratio makes it great for backups and a small subset of use-cases, but not much else.


At our company we’re ready to convert to R2, and this will probably be the foot in the door to using other cloudflare services.


So Cloudflare comfirms that we can use R2 to store public docker images that will serve TB of content per month almost free?


Only if they start onboarding people.

I'm pretty sure R2 is what I was looking for to solve a specific problem.


Very nice to see the economical comparison include decentralized storage providers like Storj DCS


I need to test presignedurls in R2 to figure out if they allow specifying file names, file size limits and time limits for the put/post requests. If so, then I might switch from B2 and S3.


I think it's kind of sad that, with all of the services offering an object store, nobody has created a better API standard than cloning the weird and clunky S3 API.


The problem is not that nobody wants to create or use such an API, the problem is that so much infrastructure and tooling is built up around the S3 API that to forgo it would be to leave your customers high and dry when it comes to integrating.

I think it was the creator of Java that said something to the effect of "There are languages people hate, and languages people don't use", which I think is very applicable here!


How does Cloudflare's billing work? Can I set a hard cap, or is it like AWS where if I'm not careful I could end up with extreme bill shock?

After some bad experiences and reading about other people's bad experiences, I won't use AWS anymore for anything that's not yet big enough to have expensive lawyers and people monitoring expenses daily. So I'm very interested to know how Cloudflare compares on this front.


AWS's bandwidth pricing is already crazy expensive on US, but when you look at LATAM pricing (Sao Paulo) it's simply outrageous. And you're paying in USD with a devalued BRL.

If Cloudflare really delivers R2 with free egress and a global CDN you'd have to be crazy not to switch.


Given the pricing, and the ability to fault in storage from S3 in any case, almost certainly "yes" is the answer to the headline, in stunning contradiction to Betteridge's law!


It's missing IAM conditional policies so it's a no for me.


How about the performance?

S3 is faster than other cloud products such as Dropbox or GCP.

Will R2 be as fast, durable, reliable, etc, with same features, eg, all sorts of encryption key management etc?


I'm surprised no one has mentioned Digital Ocean Spaces. The pricing is much simpler, even if it's more expensive for some scenarios.


I almost feel dumb asking this, but what does “zero cost egress” actually mean?


Cost of moving data out of the network. See https://aviatrix.com/learn-center/cloud-security/egress-and-...


So this means free download? So if I host a 1tb file on r2, I pay for the storage but download is unlimited? Seems like a pretty good deal.


when they say free egress, it means there is a rate limit probably. How many GB max can you transfer in 1 day at 10Mbits/s. You have to set a limit as your shared hardware has limits


Will AWS use their dirty trick again and reduce pricing, just because there is another competitor? If so, why didn't they decreased prices before?


Why would they? You’re pointing at market forces and making it out to be nefarious


Will bigcorp 1 win against Megacorp 2? Find out in the next episode!

Just co-locate your stuff, please.


> Just co-locate your stuff, please.

No thanks, too time consuming and too many liabilities.


it won't, it still is over priced compared to its real cost

at best it makes it a compelling alternative, but the story ends here


The lower egress fees are super nice, but until someone can beat the Glacier Deep Archive pricing @ $0.00099 per GB I'm going to keep using that.


Apples to oranges. Glacier Deep Archive and R2 (And really, all the other S3 tiers) serve entirely different use cases.


Great pricing, but a 48 hour retrieval window sucks for everything except things you basically never need to retrieve.

I'm not even talking backups here, if you need a backup at all, you probably need it ASAP. This is a governance product.


You do have the option for 12 hour retrieval; 48 hour is the discount restore option. We keep the latest backup in the Standard tier and use GDA for older backups.


That's not for data you Will actually use. You are only including one of the many cysts ( egress and retrieval) + it's really slow.

Cloudflare brings R2 to the edge.


Integration is an interesting problem though. With Scaleway's c14 cold storage, I felt the reasonable choices were use their S3 services for more or don't use their S3 oriented archive service at all. Moving everything around to different S3 services for different purposes seems like something I don't want to sign up for.


But it is interesting if you want to use different services of different clouds to pick the best ones for their use-case.

Egress is the cost that prevents that.


"Archive"

Archive is great for archiving. S3 standard tier is not for archiving.


My #1 concern is total monthly cost to store data, that's it.


Then your #2 concern should be "when will I want to access this data I store? How much of it? And how quickly?" because that's where Glacier can cost you a new house or car.

So for backups, stuff you don't need often (AND don't need to restore quickly), it's fine. Not so for most other use-cases.


Then R2 is worse for you than S3 as the entire point of R2 seems to be to do a different tradeoff than S3. You pay more for total storage but less for bandwidth with R2, and vice-versa for S3.


Where did you get that from? R2 is cheaper for storage too then s3




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: