Local SSD (NVMe)

  • The SSD is inside the machine, it is attached directly to the compute instance via PCIe,
  • it is super fast, and has low latency, and high throughput,(no limit to IOPS unless the hardware is limited.. )
  • Belongs to that one machine, If the machine crashes / is deleted, the data on that local disk can be lost.
  • cannot detach and reattach to another instance

Network SSD (Block Storage)

  • The disk is not inside the machine, it is a separate disk that is attached to the machine over the network, (It lives on a separate storage system in the cloud/datacenter.)
  • data survives instance reboots, terminations, and migrations because it is stored on a separate storage system.
  • It is a bit slower than local SSD because the request goes through the network. meaning it has higher latency… (also has limited IOPS)
  • What if even that seeprate storage system fails ? , i mean it can too so for that -> typically replicatation is done…
  • Examples: AWS EBS gp3/io2, GCP Persistent Disk, Azure Managed Disk

Use Cases

Local SSD (NVMe):

  • Cache layers (Redis, Memcached working sets)
  • Temp data, scratch space
  • High-throughput OLTP where you replicate at app level
  • Workloads that can tolerate loss and rebuild from elsewhere

Network SSD (Block Storage):

  • Boot volumes
  • Databases where persistence is required
  • When you need to detach/reattach disks
  • Workloads requiring durability and backup

For how an SSD stores data internally (NAND flash chips and the NVMe controller), see How SSDs Store Data.