Is there a fundamental reason why B2 is (and will remain) cheaper than S3, or is it just because they need to compete with AWS and once successful the prices will be the same (or higher)?
From my understanding, they've put a lot of work into lowering the cost of storage. I know at one point they were using arrays of consumer-grade drives, and they've done a bunch of analysis on the cost and reliability of drives on the market. They also created the "Storage Pod" [1] to maximize storage density.
Every cloud company does that. Google, Amazon, MS, all use consume-grade drives with software on top to reduce costs and increase reliability at a fraction of traditional enterprise storage solutions. Scality even provides a proprietary solution to do the same on-premise.
Objects on S3 are replicated on 3 AZs (datacenters) by default and I can't find any info on B2 if they also replicate the data on multiple DCs. That can definitely change the cost per GB for them if that's the case.
Also, AWS costs a lot just in traffic. A lot of people store things on S3 and then make that publicly available.
AWS is "da cloud" for a lot of people. So they ride that wave high and mighty, charging a lot for everything they can easily measure. People will just pay it and will try to [post-]rationalize how it's cheaper than other providers, because AWS is better.
I posted a longer version earlier. But the correct B2 vs S3 comparison is 1 zone infrequent access. B2 still comes out cheaper especially when you consider transfer costs but not by as much.
[1] https://www.backblaze.com/blog/open-source-data-storage-serv...