Cloud object storage for archival backup.

When talking about cloud storage, the term ‘object storage’ pops up frequently. In a nutshell, the objects an object storage manages consist of the actual data, a key and some metadata. See wikipedia for some more information. Some examples for cloud object storage systems are AWS S3 (simple storage service) and Azure blob storage.

The key for an object can be any string, but commonly people use strings that mimic a file path. For example, /archive/books/1984.pdf. While this looks like a file path, it is simply a string and does not provide any of the features of a real file systems.

In any case, object storage is on the cheaper side and thus I wanted to use it to back up some of my files - more precisely, the part of my files that basically never change. This description fits my music and book collection. While I do have local backups, I want to use a cloud storage for my remote backup for archival purposes.

Every cloud provider offers some form of object storage, and often even different types of object storage. The types commonly differ in the access patterns: the less often you want to access your data, the cheaper becomes the storage, but the more expensive becomes data retrieval. The exact details of the pricing can be a bit opaque. As an example, let’s take a look at Azure blob storage for locally redundant storage (the cheapest) in Germany west central:

  • data upload:
    • for free. Plus write operations which I will neglect in my use case (< 1000 files).
  • storage (in EUR/(GB * month)): 0.0166 hot storage, 0.00844 cool storage, 0.00152 archive storage
  • download:
    • data transfer fee: 5 GB/month for free, then 0.074 EUR/GB up to 10TB/month.
    • retrieval fee: 0.0085 EUR/GB for cool, 0.0203 EUR/GB for archive storage
    • read operations per 10000: 0.0037 EUR hot, 0.0085 EUR cool, 5.0598 EUR archive
    • early deletion fees:
      • cool: 30 days, so if we delete a 1 GB blob after two days we need to additionally pay (30 - 2) * 0.00844 EUR (the storage price of that tier).
      • archive: 180 days

On top of that come operation charges for read list operations and what not that I will neglect here as well. Everything clear?

tl;dr: for 150 GB it would be (excluding tax):

  • for storage: 2.49 EUR/month for hot, 1.27 EUR/month for cool and 0.23 EUR/month for archive storage.
  • for data retrival:
    • 10.73 EUR outgoing data transfer fee
    • retrieval fee: 1.23 EUR for cool, 2.94 EUR for archive
    • read operations (assuming 1000 files): 0.51 EUR for archive

Yeah, no, thanks - I don’t expect to retrieve the data often, but I don’t like the outbound data transfer fees - just checking if the backup is functional would be about 12 bucks for cool storage.

Next tl;dr: I went with backblaze b2 and do my encrypted backups with duplicity. 0.005 USD/(GB * month) for storage and 0.01 USD/GB for data retrieval (excluding tax). So 0.75 USD/month for storage and 1.50 USD for data retrieval (read and write operations are not for free either, but a cent or less for my use case).

Plus, backblaze has data caps for the individual categories (data storage, download, etc.) which I find handy as a private user. I don’t have to be afraid of an automatic program going rogue and ruining me.