Object Storage
Updated 9/22/20
I've been reviewing options for Object Storage. For many years, we've maintained our own systems for this purpose. Right now, most of our data is stored on a set of colocated storage servers (in different data centers in the same city) running zfs in a raidz2 configuration. Data is mirrored between servers using lsyncd.
There are many factors to consider, although most stick with the option given by their primary cloud or datacenter provider.
Features and Pricing Overview
BackBlaze b2 | Wasabi | Linode | Vultr | Amazon S3 | ||
---|---|---|---|---|---|---|
Storage $/TB | $5.00 | $5.99 | $20.00 | $20.00 | $23.00 | $20.00 |
Transfer $/TB | $10.00 | * | $10.00* | $10.00 | $90.00* | $80.00* |
Protocol | b2 & S3 | S3 | S3 | S3 | S3 | GCS |
Locations | 2/5 | 3/5 | 3/5 | 1/5 | 5/5 | 5/5 |
BackBlaze B2
BackBlaze have been offering cloud backup since 2007 and b2 object storage since 2015. They have a long history of providing a quality product at a low price.
Their strength lies in their solid track record and low straight-forward pricing. The biggest weakness is the datacenter options. In the US, your data will be stored in either Sacramento CA or Phoenix AZ. You do not have a choice of data centers. In Europe, your data will be stored in Amsterdam.
The b2 protocol is fairly easy to work with. One gotcha – there is no way to pass a token to allow upload of a specific file smaller than 5MB. This isn't a problem for backups or transfers from servers you control. It is a problem if you want to allow your end users to upload directly to B2.
The recent addition of the S3 protocol for new buckets, makes it much easier to integrate into existing code bases without vendor lock-in. IAM-like features are much more limited than in AWS or Wasabi.
Wasabi
Wasabi is a newer offering (launched May 2017) started by the co-founders of Carbonite (online backup, launched in 2006). It's well funded and likely to be a strong contender for many years.
Since Wasabi uses the S3 protocol and supports many of the same IAM features as Amazon's offering, tool/code options are good and migration should be reasonably simple for those currently using S3.
They offer storage in US-East (Ashburn VA and Manassas VA), US-West (Hillsboro OR), Europe (Amsterdam NL) and Asia (Tokyo JP) and allow you to select the data center for each bucket.
One thing that makes Wasabi unique is the elimination of transfer and API call fees. This model only works if your average monthly transfer is less than your storage. It also only works if you have a limited amount of transient data, as you will be billed for 90 days for every file stored. It is my understanding that if you exceed the transfer limits, you will be asked to move to their older pricing model ($3.90/TB storage + $40/TB transfer).
Linode
Linode's Object Storage is now available in Newark, Frankfurt and Singapore. The minimum price is $5/mo and includes 250GB storage and 1TB t ransfer. Additional storage is $0.02/GB and outbound transfer is $0.01/GB. I suspect it will mostly be attractive to those who have large deployments using Linode's computing systems. The biggest benefits will likely be fast internal network traffic to your Linode instances and using your existing transfer pool for data transfer, reducing costs.
Vultr
Vultr's Object storage is a new offering. Availability is currently limited to Newark / US-East.
Amazon S3
Amazon's S3 service is the big contender, although the pricing model is very complex and can get very expensive. The biggest advantage of S3 is the tight integration with Amazon's other services. When configured properly, data transfer from S3 to other AWS services is free... although API call fees can be significant.
Google Object Storage
Google object storage, similar to S3 would mostly be useful to services inside GCP.