9 ms·
Cloudflare R2 IA storage tier
- nitsky 3y agoIs the “data processing fee” any different from an egress fee in practice? Seems a little deceptive.
- dannyw 3y agoYes. You can process it once to the standard tier, and egress as much as you want for free. The differences stack up for say, a 1GB video that becomes viral and triggers terabytes in egress. You pay for 1GB, not terabytes. It’s also an optional tier.
- benterix 3y ago> The differences stack up for say, a 1GB video that becomes viral and triggers terabytes in egress. You pay for 1GB, not terabytes. Under the condition that you actively monitor the usage and manage to "process it once" on time (and then "process it back"). Because otherwise you pay for terabytes - not in egress fees, but in processing fees. Or am I missing something?
- Guzba 3y agoThe whole point of IA is cheaper storage that is infrequently accessed, and there is a price to accessing it. If you need / want frequent access just use the regular storage class. All object stores out there have a flavor of IA class with an access fee that should be far lower than the storage class savings for scenarios where you would even consider using this. If you don't want or understand this cost optimization you simply don't use it.
- ericpauley 3y agoYes, because in a well-designed setup files that are frequently accessed would be restored to standard tier. Ideally you'd only pay the data processing fee once when files transition from infrequently accessed to frequently accessed. There's a breakeven point at a data access rate of once every two months.
- CharlesW 3y agoMaybe the cold-to-hot migration "tax" is partially to prevent abuse? > "Data retrieval is charged per GB when data in the Infrequent Access storage class is retrieved and is what allows us to provide storage at a lower price. It reflects the additional computational resources required to fetch data from underlying storage optimized for less frequent access." I like the "automatic storage classes" idea as well. > "…you can define an object lifecycle policy to move data to Infrequent Access after a period of time goes by and you no longer need to access your data as often. In the future, we plan to automatically optimize storage classes for data so you can avoid manually creating rules and better adapt to changing data access patterns."
- dmw_ng 3y agoAWS already give you intelligent tiering for this, it's a very nice product but it's also just a nice way of hiding the same fees. Your $0.004/GB becomes $0.023/GB on first read for 1 month then $0.0125/GB for 2 months, so the average cost of storing it over those 3 months becomes $0.016/GB, and that's before considering monitoring fees
- sborsje 2y agoYou could also implement tiering yourself, depending on your workload of course. If you know you're storing objects for long-term archival reasons (or backups), you could opt for using S3 Glacier Instant Retrieval at $0.004/GB.
- dmw_ng 3y agoAt least magnetic disks are iops constrained, lower iops loads conceivably allow higher density, or packing different load patterns to the same devices. Say a 8 TB / 100 iops disk reserves 90 iops for a 1 TB a database service, that's 87% of the disk's capacity sitting free but only 10 iops to serve it with. Adding what is effectively an iops tax to discourage frequent reads is one way to make a mixture like this work (or another way to think of it - subtracting an iops discount) Obviously example above is contrived, but same principle applies to a pool of 1000 disks as it would 1. You also don't escape this issue with regular hot storage either, there is still a (((iops * replication count) / average traffic) / max latency) type problem lurking, which would still necessitate either limiting density or increasing redundancy according to expected IO rate. This is one reason why some S3 alternatives with weaker latency bounds (not naming names, they're great but it's just not the same service) can often be made substantially cheaper, and why at least one of S3's storage classes may be implemented entirely as an accounting trick with no data movement or hardware changes at all
- deleted 3y ago[deleted]
- rc_mob 3y agobeen waiting for that event trigering for a loooong time. I'll give it a go
- aftbit 3y agoHow is data stored in this tier? Is it just on big slow SMR disks?
- tills13 3y agoAnecdotally, we have found R2 to be nearly half as slow to respond as the same request to S3 _proxied through Cloudflare_. So... something isn't right here. Maybe a mechanical turk where a live human is fetching the object using Windows Explorer behind the scenes?
- djhn 2y agoAny chance you could convert ‘nearly half as slow’ to a percentage of the original response time? This reads like a reading comprehension puzzle and I don’t even know if my hunch is correct.
- SahAssar 2y agoDid you mean "half as fast"? The way you worded it sounds like you mean to say that s3 is faster, but it says that r2 is twice as fast as s3.
- tills13 2y agoApologies, yes. Half as fast. S3 was typically around 20-40ms, R2 was typically around 60-80ms iirc
- Lucasoato 3y agoDoes anybody know which consistency model Cloudflare offers compared to AWS S3?
- mattdeboard 3y agoHere are Cloudflare's docs on R2 consistency model https://developers.cloudflare.com/r2/reference/consistency/ https://developers.cloudflare.com/r2/reference/consistency/
- gavinsyancey 3y agoBackblaze B2 is cheaper than Cloudflare R2 IA. Hmmm
- iscoelho 3y agoThis is expected. Like cloud providers, Cloudflare is intentionally not aggressive on pricing as it is a race to the bottom. There are other ways to compete.
- deleted 3y ago[deleted]
- Guzba 3y agoB2 can be great but it is missing a lot of features when compared to other object stores so it isn't a good solution for every scenario. As an example I investigated, to put a custom domain in front of a B2 bucket they suggest using Cloudflare and CNAME-ing a bucket subdomain (eg f000.backblazeb2.com) https://www.backblaze.com/docs/cloud-storage-deliver-public-backblaze-b2-content-through-cloudflare-cdn https://www.backblaze.com/docs/cloud-storage-deliver-public-... Well if f000.backblazeb2.com is used for any other people's buckets too, which appears to be the case, I guess I am now able to serve other people's files from my domain? This seems terrible.
- jdmarble 3y agoI'm not sure I understand all of the nuances here (I'm no webmaster), but this is covered in the documentation you linked: > You must configure page rules to allow Cloudflare to fetch only your Backblaze B2 bucket from your domain. ... Otherwise, someone could use your domain to fetch content from another customer's public bucket. To ensure this does not happen, Cloudflare lets you use page rules to scope requests to your bucket.
- Guzba 3y agoThe example shows leaving your bucket name in the url as a way to filter out requests to other bucket names. If you want your static site to have http://mysite.com/bucketname/index.html http://mysite.com/bucketname/index.html then I guess that's ok. But again, careful configuration and still not for every situation. I'm sure you can layer more rules to get it exactly right but I'd not be eager to layer on complex configuration through multiple service providers when it is avoidable, unless there is some very compelling overriding reason.
- historynops 3y agoA fairly unrelated point, but its so strange how companies that underpin a lot of the internet struggle in the stock market. While we all wish we had sold our tech stocks in 2021, Cloudflare still hasn't recovered.
- Guzba 3y agoI believe Cloudflare (and many other cos like it) have never produced operating income. They are growing and obviously important and potentially very profitable in the future, but when discount rates are much higher and you add in some uncertainty, one could argue they don't look as hot as they used to.
- simfree 3y agoCloudflare has a very dysfunctional sales pipeline. Their free, premium and self-serve offerings might underpin the internet, but the highly profitable offerings that are gated behind their sales teams are not getting sold. Too many of the clients that they should be selling to. Magic Transit (bring your own ASN), classic website DDoS protection (above the Business $200 tier, which has low, undisclosed data limits in regions like New Zealand) and ilk all require interacting with the sales rep, and unless your paying 5 figures a month they are disinterested. There is a whole market out there between $300 to $2000 a month that Cloudflare could tap without making new infrastructure but is actively being ignored.
- alphabettsy 3y agoThis. They lock a lot of features behind an Enterprise plan where they could allow them to be added to a lower plan. In general, I just hate working with sales reps and would rather avoid a company altogether if I can’t sign up without talking to them.
- lijok 3y agoHit the nail on the head. Wanted to byt their SASE DLP & Remote Browser Isolation as a startup. Sales wouldn't even talk to us
- teruakohatu 2y ago
- tschellenbach 3y agodoes anyone know which products of cloudflare have the most revenue?
- rc_mob 3y agoprobably the CFO of Cloudflare inc knows
- ricopags 3y agoWe're onboarding to Cloudflare MagicWan and want to use them for logging, which they do to 's3-compliant' buckets.... on Google or Amazon. I was pretty surprised at the lack of dogfooding, wondered if it's an oversight, on somebody's Gantt, or just not something R2 can handle for some reason.
- viraptor 3y agoYeah, the integration and production readiness of their non-core offerings is not perfect. I'm dealing with R2 and another service and you can tell they fell more like... specifically integrated features, rather than fully modular services you can choose to use as you want. Like the workers have possible R2 bindings, but you can't use those in a fetch() call - you have to use S3 compatible endpoint instead. AWS has its own issues, but the push to have everything talking over API did wonders for the ability to use them as you want.
- jakubadamw 2y ago> Like the workers have possible R2 bindings, but you can't use those in a fetch() call - you have to use S3 compatible endpoint instead. Sorry, could you please elaborate? Why can you not use a binding to an R2 bucket – and perform operations on its objects – in a `fetch()` handler of a worker? Or did I misunderstand this statement?
- viraptor 2y agoI meant that in your worker handler, you can only run fetch(s3-endpoint-for-bucket) rather than something like fetch(env.MY_BUCKET...) This matters for their image resizing which needs to be used as options on fetch().
- thrixton 2y agoSo pricing is 1c / GB-month, compared to S3 IA at 1.25c / GB-month, a decent saving but not massive, no archive or deep archive options though, I wonder if / when these will come. What sort of negotiated rates can you get from AWS for bandwidth I wonder, at the moment, that’s seems like the only real benefit from CF I think.