Question:

What are the advantages/disadvantages of the various cloud storage solutions for assets?

Camila: 19 May 2022

When setting up a new assets source, Craft allows you to natively connect to one of these cloud storage solutions (assuming you're using the Craft Pro edition):

  • Amazon S3
  • Google Cloud Storage
  • Rackspace Cloud Files

I know that the answer may be subjective, but want to hear pros & cons from people who have tried any of these. I'm working on a project which will require one of these solutions, and I greatly value the opinions of this community.

Answer:
Jeremiah: 19 May 2022

Allright, I'll bite. First, I'll get the cost argument out of the way, then I'll cover each type with their specifics.

Costs

  • Amazon S3: USD 0.03 per GB (up to 1TB, where the price drops as you store more and more data)
  • Rackspace: USD 0.12 per GB (up to 1TB, where the price drops)
  • Google Cloud Storage: USD 0.026 per GB (No price reduction for large amounts)

In conclusion - pricing will not be a deciding factor, as the difference, while having a rather noticeable amplitutde, only matter when storing such an absurd amount of data, that the price is the least of your problems.

S3 Specifics

  • Superb integration with AWS. If you're hosting there, then your choice has been made.
  • CDN - Amazon Cloud Front is super-easy to set up and is a breeze to use.
  • Different types of storages available.
    • Regular
    • Reduced Redundancy Storage - cheaper, however Amazon guarantees "only" 99.99% durability of data
    • Glacier - super-cheap storage for archiving. Super long data recovery, though. I'm talking 3 to 5 hours. Also, as Matt Stein pointed out, in some cases, the data retrieval could get super-expensive. (more info (http://aws.amazon.com/glacier/), expensive retrieval case (https://news.ycombinator.com/item?id=4412886))
  • Supports object versioning (more info (http://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html))
  • Cache headers - you can set up cache duration per Assets source for files uploaded to the source via Assets

Rackspace Specifics

  • CDN built right in - no set-up necessary.
  • CDN comes at a cost - you can purge only up to 25 files from the CDN per day, so be careful with frequent file changes. (blog post (http://www.rackspace.com/blog/cloud-files-cdn-gets-edge-purge/))
  • Supports object versioning (blog post (http://www.rackspace.com/blog/rackspace-cloud-files-how-to-use-object-versioning/))

Google Cloud Storage Specifics

  • Cheapest of them all.
  • Offers Durable Reduced Availability storage. Cheaper, but stores data on further servers, so the data recovery time is slightly longer.
  • Cache headers - you can set up cache duration per Assets source for files uploaded to the source via Assets
  • According to google, CDN is built in at no extra cost. (Google groups post (https://groups.google.com/forum/#!msg/gs-discussion/z7Kee2CIdsk/gEtlHK7L_JgJ)))
  • Supports object versioning (more info (https://developers.google.com/storage/docs/object-versioning))

Overview

I am biased, I'll admit that, but I've had nothing but joy working with Amazon S3, a lot of frustration working with Rackspace and mixed feelings when it comes to Google. For Google it's mainly of their unbelievably clunky UI, but that might be just me.