StackServicesS3

S3

Last updated: Apr 24, 2026


Rationale

AWS S3 (Cloud Object Storage) is the service we use for storing files in the cloud.

The main reasons why we chose it over other alternatives are:

Alternatives

Below are the alternatives we evaluated before choosing AWS S3, ordered from most to least interesting based on our specific needs.

Google Cloud Storage

Google Cloud Storage is the object storage service on Google Cloud.

  • It did not exist at the time we migrated to the cloud.
  • It would require supporting another cloud provider, fragmenting knowledge and tooling across platforms.
  • It does not provide first-class integration with AWS-native primitives we rely on for public hosting (CloudFront OAC, IAM roles, Lambda event sources).

Azure Blob Storage

Azure Blob Storage is the object storage service on Microsoft Azure.

  • It did not exist at the time we migrated to the cloud.
  • It would require supporting another cloud provider, fragmenting knowledge and tooling across platforms.
  • It does not integrate with the AWS ecosystem where the rest of our infrastructure lives.

Usage

We use AWS S3 for:

  • Serving static assets for public sites (see Public hosting).
  • Creating signed download URLs in the platform.
  • Storing platform resources, evidence, reports, and analytics.
  • Storing Sorts training data.
  • Storing Skims data.
  • Storing GitLab CI cache.
  • Storing Terraform state.

We do not use AWS S3 for storing multimedia for our sites, like images and videos. We use Cloudinary instead.

Other dependencies

On this page