Object Storage
Flat, HTTP-addressable storage for immutable blobs with rich metadata — effectively unlimited, cheap, and not a filesystem.
The properties that shape designs around it: effectively unlimited capacity, very low cost per gigabyte, extremely high durability, and access over HTTP with per-object permissions.
The properties that catch people: it is not a filesystem. There is no real directory structure (prefixes only), no partial in-place update (a change rewrites the object), no file locking, and per-request latency far higher than a local disk. Code that treats a bucket as a mounted drive will be slow and occasionally wrong.
Two patterns worth knowing. Pre-signed URLs let a client upload or download directly, so large files never traverse your application tier — this removes a whole class of scaling problem. And lifecycle policies move objects to colder tiers automatically, which is usually the single largest available storage saving.
Compare with block storage (a virtual disk attached to one instance, low latency, sized in advance) and file storage (a shared POSIX filesystem, convenient and considerably more expensive).