S3

Amazon S3 (Simple Storage Service) is AWS's object storage service. It stores arbitrary blobs of data (objects) in named containers (buckets), accessed over HTTPS via the S3 API. S3 is the original AWS service and the canonical example of an object store; its API has become a de facto standard supported by many other vendors.

Core concepts

  • Bucket. A globally-named container for objects, scoped to a region.
  • Object. A blob plus metadata, identified by a key (which looks like a path but is just a string).
  • Versioning. Optionally keep previous versions of overwritten or deleted objects.
  • Storage class. Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Flexible Retrieval, Glacier Deep Archive: different durability, availability, and cost profiles.
  • Lifecycle policies. Rules that move or expire objects automatically.

Common features

  • Eleven nines durability. 99.999999999% durability across multiple availability zones.
  • Strong read-after-write consistency. Since 2020, every PUT and DELETE is immediately consistent.
  • Presigned URLs. Temporary signed URLs for uploads and downloads without exposing credentials.
  • Event notifications. Send messages to Lambda, SQS, SNS, or EventBridge when objects change.
  • Server-side encryption. SSE-S3, SSE-KMS, SSE-C, plus customer-managed keys.

S3-compatible alternatives

  • MinIO, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, SeaweedFS, Garage. All implement the S3 API to varying levels of fidelity.
🔗
Related Terms
AWS, Cloud Computing, Lambda, CDN, Region.

Subscribe to Sahil's Playbook

Clear thinking on product, engineering, and building at scale. No noise. One email when there's something worth sharing.
[email protected]
Subscribe
Mastodon