The main issue we have with S3 is the extortionary egress bandwidth fee. Storage pricing seems OK, but what's the point if I can't send those files to users?
The margin on bandwidth is enormous. I think Cloudflare did some research into it a while back. But there are rivals providing cheaper S3-compatible storage at scale. Cloudflare's R2 ($15/TB, and no fees for egress). Oracle Cloud Storage ($25/TB, and first 10TB of egress is free). There's Wasabi ($5.99/TB, and no fees for egress or API requests). To name but three. Of course each of those have drawbacks e.g Wasabi is intended for long-term storage, R2 is still in beta etc. But there are options for new data.
I didn't realize Cloudflare R2 was available yet. Took a look based on your mention... "currently in beta". But you can still just sign up and use it already?
Anyone here done that and want to report back?
Ah, I found this posted by it's author elsewhere in these threads:
Very useful. Wait.... "no public access" AND "no pre-signed URLs"? Am I misunderstanding what that means? That would seem to make this not use cases of serving files to end-users? or what am I missing?
I haven't used it, but my understanding from reading about it is that the intended use-case is to create a Worker (roughly equivalent to an AWS Lambda) that mediates access to the bucket. So you could have the worker provide public access, or have the worker do some kind of authentication — you just have to roll that part yourself.
I haven't used it either but it certainly sounds like it's open to anyone to use. As @chc mentions, it reads like you use a Worker to control access. So you can make your files public by simply not requiring any authentication. I've just been scrolling through their getting started guide. It looks promising: https://developers.cloudflare.com/r2/get-started
Although one of my use cases is video files (fairly small non-profit usage), which I have understood are not allowed by CloudFlare CDN terms of service (at least at non-"enterprise" tiers?)... it's been confusing to me understanding if I could, for example, serve video files from Backblaze via CloudFlare CDN and Bandwidth Alliance; or with R2, if there's a way to serve video files from R2 to the public that is allowed by tos.
Yes you can serve whatever you want from R2 directly. From [1]:
> 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; and (iii) Workers KV, Durable Objects, and R2, storage offerings used to serve HTML and non-HTML content.
Now it’s important to note that the Cache product does not fall into these supplemental terms (even if you use the Workers API to access it). So if you are Caching the video files you’d potentially run into problems (but that would also be true of serving video content from Blackblaze that you were caching).
Wasabi's egress is not fully free as you make it sound. Their egress works like this: if you store 1 TB of data, you have 1 TB of free egress, as seen in their FAQ [0]. This means it's unfit for certain cases and another competitor could be a better option.
You are correct, that would be another example of one of _its_ drawbacks. They certainly promote "No Fees for Egress" and "No egress charges" (home page). But yes, whether that actually is the case depends on your usage.
A bit tangential, but in some cases you can use S3 Gateway endpoints, which can dramatically reduce your egress costs if you're just accessing it within a VPC.
Have you looked into other S3 compatible services?
We switched to DO Spaces because of the lower bandwidth and storage fees. The savings was actually quite a bit and no noticeable differences for our use case.
I know there are others services out there that are also s3 compatible and cheaper.
For my use case, DO Spaces was quite bad in terms of artifacts being served from stale caches after being replaced and the 'purge' API being called on the bucket; this was over 2 years ago so maybe it's better now.
This is the other issue with using another cloud, S3 is extremely well documented.
Some other cloud providers give no statement on reliability/availability/consistency. And worse some providers give statements that violates the CAP theorem.
The big clouds are some what reasonably documented, but many smaller vendors leave you guessing, or promise what I know they can't keep.
I think this would be an excellent area for regulation since it anti-competitive (portability is dramatically reduced since it has been made artifically expensive to move the data to another cloud service) and the cloud services haven't shown any interest in doing something about it on their own.
Regulation for bringing down prices for unnecessary cloud services like hosting a file?
Let's focus on things users cannot change. Using the cloud to host files is an easy and expensive way to store files that should be a luxury or a tax on the foolish.
Are you seriously suggesting that S3 is a monopoly with means to block competition. I mean even when discussing cloud in general, what you are suggesting is a joke.
I've used it to store large datasets that are processed within a region, a backup system, logs and metrics, and as an origin for CloudFront. I think you're referring to using to host a consumer download service because of web objects in a serious business you'll need a CDN.
All S3 usage I have encountered in the wild has been user submitted files. Stuff like profile pics, document attachments, etc. You could in theory store these on the VMs storage but that encounters the frequent problem that the storage fills up. While S3 is unlimited and easy to integrate.