- Block Devices
- Filesystems
- Object Storage
- Application Domain
At the bottom we have block devices supplied by HDDs and SSDs. These use a protocol like SCSI or ATA or SAS or SATA.
They are presented as block devices to the operating system. Use lsblk
to see all the connected block devices.
This is what operating systems "hosts" require (at least to boot).
Networked Variant:
- iSCSI (AWS offers Storage Gateway, a cloud-managed iSCSI target)
- ATA over Ethernet
Filesystems backed by some set of block devices. They present a POSIX filesystem interface that most Unix applications expect.
This is what the marketing term of "Block Storage" usually refers to.
This is what containers require.
Networked Variant:
- NFS
- Ceph
- IPFS
These systems abstract filesystem semantics into a simpler key-value semantics. Every object has a key and a value. Amazon S3 is a typical example.
Almost all object storage systems are intended to be served over a network.
These present a more domain-specific stateful interface. But any application which maintains "memory" in some form will present some interface to storage.
Almost all application domain state are intended to be served over a network.