Three Ways to Store Bytes
Cloud storage comes in three shapes, and choosing wrong leads to awkward systems. They differ in the unit of access and the kind of mutation they allow.
The Three Models
- Block storage exposes raw fixed size blocks like a virtual disk. The filesystem lives on top of it and you can edit any block in place. It is fast and low level, ideal for databases and boot volumes, but it is tied to one machine.
- File storage presents a hierarchy of directories and files over a shared protocol. Many clients can mount it, making it natural for shared documents, but the tree structure limits how far it scales.
- Object storage stores whole blobs by key in a flat namespace with rich metadata, reached over HTTP. It scales to virtually unlimited capacity but objects are usually written whole, not edited in place.
Choosing
Use block for low latency in place writes, file for shared hierarchical access, and object for massive immutable blobs like images, backups, and logs.
Key idea
Block storage edits raw blocks for one machine, file storage shares a hierarchy across clients, and object storage holds massive immutable blobs by key with rich metadata.