Contents

Infrastructure & Operations › Cloud Computing

S3 / Blob Storage

Cheap, durable object storage.

Also known as: Amazon S3, Blob Storage, object storage, Cloud Storage bucket

S3 (Simple Storage Service) is Amazon’s object storage. The same idea exists as Google Cloud Storage and Azure Blob Storage. It stores files as objects inside buckets, accessed over HTTP, and is inexpensive and extremely durable. Many other tools speak the S3 API too, so the skill transfers.

Think of it as a giant key-value store for files: the key is a path-like name (images/2026/logo.png), the value is the file’s bytes, plus metadata. There are no real folders; the slashes are just part of the key.

import boto3

s3 = boto3.client("s3")
s3.upload_file("report.pdf", "my-bucket", "reports/2026/report.pdf")
s3.download_file("my-bucket", "reports/2026/report.pdf", "local.pdf")

What it’s good for

User uploads, images and videos, backups, logs, static website assets, and data lake files. It is not a file system or a database: you can’t edit part of an object (you replace the whole thing), and it isn’t meant for low-latency small random reads and writes.

Classic mistakes

  • Making a bucket public by accident. Leaked data from open buckets is a well-known, repeated kind of breach. Keep buckets private and grant access through IAM policies. For sharing a single file, use a temporary signed (presigned) URL.
  • Sending uploads through your server when the browser could upload directly using a presigned URL.
  • Ignoring costs beyond storage. Requests and data leaving the cloud bill separately. See egress costs.
  • Keeping everything forever in the most expensive tier. Use lifecycle rules to move or delete old data.
  • Assuming a delete is reversible. Turn on versioning if you need to recover overwritten or deleted objects.