Cloud Storage Types – Object, Block, and File Storage Explained
When cloud professionals talk about storage, they distinguish three fundamental types: object storage, block storage, and file storage. Choosing the wrong type can cost you money or break your application. In this post, we will explain each type with analogies, real-world examples, and guidance on when to use which.
1. The Core Difference
|
Storage Type |
Data Organization |
Typical Use |
|
Block storage |
Data split into fixed-size blocks, each with a unique identifier. |
Virtual machine hard drives, databases. |
|
File storage |
Hierarchical structure (folders and files) with metadata. |
Shared documents, home directories, legacy apps. |
|
Object storage |
Flat structure; each object has a unique ID, data, and rich metadata. |
Backups, archives, static website assets, big data. |
Analogy – organizing books:
- Block storage: Books are broken into numbered pages stored in a warehouse. You have no idea which book the page belongs to without a separate map.
- File storage: Books are on shelves organized by genre, author, title. You browse folders.
- Object storage: Each book is thrown into a large bin with a unique barcode. You ask for the barcode, and the bin delivers the book, plus you can attach sticky notes (metadata).
2. Block Storage – The Foundation of Virtual Machines
Block storage presents raw storage volumes that appear to the OS as a hard drive. The OS then creates a file system on top of these blocks. Features: low latency (microsecond-level access), high IOPS, byte-level modification, persistence after VM termination.
Cloud examples: AWS EBS, Azure Managed Disks, Google Persistent Disk. Best for: boot drives for VMs, database storage (MySQL, PostgreSQL), high-performance applications.
Limitation: Usually attached to a single VM at a time. You cannot easily share a block volume across many servers.
3. File Storage – Shared Folders in the Cloud
File storage provides a hierarchical namespace accessible over a network protocol (NFS for Linux, SMB for Windows). Multiple servers can mount the same file system simultaneously.
Cloud examples: AWS EFS, Azure Files, Google Filestore. Best for: shared home directories for a cluster of compute nodes, content management systems, legacy applications written for local file storage.
Limitation: Does not scale to exabytes as easily as object storage. Performance can degrade with many small files.
4. Object Storage – The Cloud-Native Choice
Object storage stores data as objects in a flat namespace ("bucket"). Each object has the data itself, a unique key, and metadata. Access is via RESTful API over HTTP (PUT an object, GET an object, DELETE an object).
Cloud examples: AWS S3, Azure Blob Storage, Google Cloud Storage, Backblaze B2.
Features: massive scalability (trillions of objects, no practical limit), extreme durability (11 nines – 99.999999999%), cheap (pay only for storage plus requests). Limitation: You cannot modify part of an object – to change a single byte you must re-upload the entire object. Latency is higher than block storage (milliseconds, not microseconds).
Best for: backup and archive, static website hosting, big data lakes, user-uploaded photos and videos, disaster recovery.
5. Comparison Table
|
Feature |
Block Storage |
File Storage |
Object Storage |
|
Latency |
Very low (µs) |
Low (ms) |
Moderate (ms) |
|
Shared access |
Not easily (single-attach typical) |
Yes (multiple servers) |
Yes (anyone with API key) |
|
Modification |
Byte-level |
Byte-level |
Whole object only |
|
Typical cost per GB/month |
$0.08–0.15 (SSD) |
$0.20–0.30 |
$0.01–0.023 (standard) |
|
Best for |
Databases, VMs |
Shared home directories |
Backups, archives, data lakes |
Summary
|
Term |
Definition |
|
Block storage |
Raw storage volumes attached to a single VM; low latency, byte-modifiable. |
|
File storage |
Hierarchical shared folders accessible via NFS/SMB; multiple clients. |
|
Object storage |
Flat namespace accessed via REST API; massive scale, cheap, but only whole-object updates. |
|
Bucket |
Container for objects (like a folder in object storage). |
|
Durability |
Probability that stored data will not be lost. |
Review Questions
- You have a database that requires random read/write of individual rows. Should you use object storage or block storage? Why?
- A company wants to store 500 TB of surveillance footage accessed only if an incident occurs (maybe never). Which storage class is appropriate? What trade-off do they accept?
- Why can you not rename a "folder" in object storage (like S3) without moving every object?