What is object storage? S3 explained for people who are not cloud engineers
"Object storage" and "S3" get thrown around as if everyone already knows what they mean. Here is the plain version.
Files vs blocks vs objects
There are three ways computers store data, and the difference matters:
Block storage is what a VPS's main disk is. It behaves like a physical hard drive: a filesystem sits on it, you read and write files, and it is fast for a database or an operating system.
File storage is a shared filesystem over the network (NFS, SMB) — folders and files, many clients, like a company network drive.
Object storage stores data as whole objects in a flat space. Each object is a file plus its metadata, addressed by a key (think: its name/path), inside a bucket (a container). You do not mount it like a disk; you reach it over HTTP with an API.
Why object storage is everywhere
Because it is flat and API-driven, object storage scales essentially without limit and is cheap to run at scale. That makes it the default for:
Backups — dump databases and files into a bucket, on a schedule.
Media — store images and video and serve them by URL.
App uploads — many web apps offload user uploads to object storage instead of filling the web server's disk.
Logs and archives — cheap, durable long-term storage.
What S3 actually is
S3 is Amazon's object storage API, and it became the de facto standard: almost every object-storage tool and server "speaks S3," meaning they use the same operations (PUT an object, GET an object, list a bucket). So any tool that works with Amazon S3 — rclone, restic, the AWS CLI, application SDKs — works with any S3-compatible endpoint, including one you host yourself.
Why self-host it
You do not have to send your backups and media to Amazon. MinIO and Garage are open-source S3-compatible servers you run yourself:
MinIO — the most S3-compatible server available, feature-rich and fast; ideal for a single-server object store. (Check its current licence and console/edition details, as they have changed over time.)
Garage — lighter, built for clusters spread across several small machines; great when you want geo-distributed storage on cheap nodes.
Self-hosting S3-compatible storage means your backup target and your media origin are on hardware you control, subject to your own rules, at a flat cost.
Where it fits in a real setup
A common, sensible pattern:
Block storage on the VPS for the OS, apps and databases.
Object storage (local or self-hosted S3) as the destination for backups.
Object storage + a CDN for serving media and static assets.
That splits "fast, small, needs a filesystem" from "big, cheap, needs an API" — which is exactly why object storage exists.
Start with Object storage basics, see MinIO/Garage compared in S3-compatible object storage, and pick a plan at /app-hosting/minio.