Infrastructure Comparisons
Side-by-side trade-offs where neither column wins. The workload, the team and the operational budget decide — and each comparison ends with the verdict that follows from that, not from a preference.
VM vs Container vs ServerlessManaged vs self-hosted databaseObject vs block vs file storageRolling vs blue/green vs canaryActive-passive vs active-activeDeclarative vs imperative infrastructure
Object vs block vs file storage
Three different contracts, not three products. The access pattern picks one; using the wrong one is the source of a whole family of architecture problems.
| Dimension | Object | Block | File |
|---|---|---|---|
| Unit | Whole object by key | Fixed-size blocks | Files and directories |
| Interface | HTTP API | A disk the OS mounts | A network filesystem |
| Shared by many machines | Yes, natively | Usually one at a time | Yes, that is the point |
| Partial update | Rewrite the object | Yes, at block level | Yes |
| Scale ceiling | Effectively unbounded | Per-volume limits | Per-share limits |
| Latency | Tens of ms per request | Sub-millisecond to low ms | Low ms, chattier per operation |
| Cost shape | Cheap per GB, charged per request and per GB out | Provisioned capacity and IOPS | Provisioned capacity, often the priciest |
| Good for | Media, backups, static assets, data lakes | VM disks, database files | Legacy apps and shared working directories |
Use Object when
- Whole-item reads and writes of large blobs.
- Content served through a CDN.
- Backups and archives.
Use Block when
- A database needs durable random writes.
- A VM needs a root or data disk.
- You need filesystem semantics on one machine.
Use File when
- Several machines must see the same directory tree.
- An application assumes POSIX and cannot be changed.
Verdict
Default to object storage for blobs and block storage for databases. Reach for file storage when an application genuinely requires a shared POSIX filesystem — and notice that "we used a shared filesystem as a queue" is a recurring incident.
Lessons behind this comparison