Block storage
Storage exposed as raw blocks attached to a VM like a disk, supporting random read/write and filesystems. EBS is the canonical cloud example. Low latency, persistent, but expensive and not internet-addressable.
- Database storage, VM boot disks, anything needing a filesystem and random I/O.
- Low-latency persistent state.
- Large immutable blobs (use object storage).
- Shared concurrent writes from many nodes.
Definition
Block storage presents fixed-size blocks over a network (iSCSI, NVMe-oF) to an OS, which formats it with a filesystem. It supports random reads/writes and is the basis for databases and boot disks.
Why it exists
Databases and OSes need random-access, low-latency, filesystem-backed storage. Object storage can't do that. Block storage gives a VM a disk that performs like local storage but is network-attached and snapshottable.
How it works
A volume is attached to one instance at a time (usually). Reads/writes go over the storage network. IOPS and throughput scale with volume size/type (provisioned IOPS SSDs vs gp). Snapshots are block-incremental.
Scaling limits
Attached to one instance (no shared multi-writer easily). Performance is bounded by volume type and network. Cost scales with provisioned capacity/IOPS, not just used space.
Cost shape
Per-GB + provisioned IOPS/throughput. Blow-ups: over-provisioned IOPS, large idle volumes, and snapshot storage.
Alternatives
- Object storage — Cheap and scalable, but no random writes or filesystem.
- Ephemeral instance storage — Fastest but lost on instance stop.
Failure modes
- IOPS limits throttling DBs.
- Single-attach limiting HA.
- Snapshot restore time.
Related terms
Object storage, WAL (write-ahead log), Snapshot, Replication