Object storage
Also called blob storage, S3-compatible storage.
A way of storing files as objects in buckets, each with an ID and metadata, reached over HTTP and built to scale to huge amounts of data cheaply.
Last updated
What it is.
Instead of folders on a disk, object storage keeps each file as an object with a key, its data and metadata. Apps read and write objects through an API. Many providers offer an S3-compatible API, so the same code can work across them.
It is built for files that are written once and read many times: uploads, images, video, backups, exports and data for analysis. It is not a database and not a disk for running software.
Why it matters
Object storage is usually the cheapest and most durable place to keep files, and it scales without planning. Storing files there, not on app servers, is what lets servers be replaced and scaled freely. Costs come from storage, requests and egress.
In a product build
We keep buckets private by default, use short-lived signed URLs for upload and download, scope object keys by tenant in multi-tenant apps, and set lifecycle rules that move old files to cheaper tiers or delete them on schedule.
Common mistakes.
- 01
Public buckets holding private files. This is one of the most common data leaks.
- 02
Sending uploads through the app server instead of straight to storage.
- 03
No lifecycle rules, so storage grows forever.
Related terms.
- CDN (content delivery network)A network of servers around the world that keeps copies of your files close to users, so pages and media load faster.
- Egress (data transfer out)Data that leaves a cloud provider's network, such as files sent to users, which many providers bill per gigabyte.
- Multi-tenancyOne running copy of a software product serving many customers, called tenants, with each tenant's data kept apart.
- Data warehouseA database built for analysis and reporting, where cleaned data from many systems is kept together in one place.
- Offline-firstA way of building apps so they work fully without a network connection, saving changes on the device and syncing them when a connection returns.
Guides and pages
Browse the full glossary or read answers to common questions.