Start with the decision#
Disaggregate durable storage from elastic compute when their growth, lifetime, or workload isolation needs differ enough to justify remote I/O and cache coordination.
Mechanism and state flow#
- Durable shared storage keeps canonical files, segments, or table blocks.
- Stateless or replaceable compute workers acquire work and fetch needed data.
- Local SSD and memory cache the hot working set with explicit eviction and versioning.
- Independent compute pools isolate interactive, batch, and maintenance workloads.
- Schedulers scale pools from demand while storage durability and lifecycle remain separate.
Concrete example#
Growing analytics warehouse
Historical data grows faster than daily query demand. Shared object-backed storage retains the corpus, while an interactive pool scales for dashboards and a separate batch pool expands for nightly transformations.
Architecture consequence: Storage growth no longer forces idle compute purchases, but cache warmth and remote-read bandwidth become performance controls.
Trade-offs#
| Option | Choose when | Cost or limit |
|---|---|---|
| Local attached storage | Predictable low-latency access and simple failure boundaries dominate. | Storage and compute scale together; replacement moves data. |
| Shared remote storage | Independent scaling, elasticity, and workload isolation matter. | Network latency, bandwidth, and cache misses. |
| Hybrid tiering | A bounded hot set needs local speed over a large durable corpus. | Placement and eviction policy complexity. |
Failure diagnosis#
- Failure
- A newly scaled compute fleet starts with empty caches during a traffic spike.
- Impact
- Remote storage and network saturate, increasing latency for every pool.
- Detection
- Cache-hit rate falls while remote bytes, queue time, and storage throttling rise.
- Mitigation
- Warm critical ranges, limit concurrency, prioritize interactive traffic, use admission control, and size shared bandwidth for recovery events.
- Trade-off
- Warm capacity costs more but avoids synchronized cold-start amplification.
Design checkpoint#
Work the scenario before revealing the checklist
- Plot independent storage and compute growth for one year.
- Name the hot working set and acceptable cache-miss latency.
- Partition interactive and batch resource pools.
- Design behavior for storage throttling and a fleet-wide cold start.
Use these prompts to extend the design. The useful answer is a reasoned change, not a memorized sentence.
- When is disaggregation worse than attached storage?
- How do you invalidate or version cached blocks?
- Which cost moves from disks to network after separation?
Related practice problems
Use the manifest-backed prompts below to apply this lesson in a complete design.
Sources reviewed 2026-09-04. Validate product limits, legal obligations, and operational assumptions for the system you are designing.