Distributed block storage

DesignHard45 minAmazon style

Your task

Design an EBS-like distributed block-storage service that presents network-attached virtual disk volumes to VMs. Each volume must look like a local block device, survive single-disk and single-host failures with 99.999% durability, deliver low-tail-latency 4KB random I/O, and support snapshots. A volume attaches to exactly one VM at a time. How do you lay out data, replicate it, and handle a host failure without corrupting the volume?

It covers

  • Distributed block
  • Replication
  • Volume attach