Skip to content
Devgo

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.

When to use
  • Database storage, VM boot disks, anything needing a filesystem and random I/O.
  • Low-latency persistent state.
When not to
  • Large immutable blobs (use object storage).
  • Shared concurrent writes from many nodes.

Definition

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. can't do that. 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 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.
  • restore time.

, , ,