Block storage forms the backbone of many modern computing systems. It functions by dividing data into fixed-size units known as blocks, each of which is addressable but carries no intrinsic metadata or structure. These blocks are like raw building materials — they hold data efficiently but require an overlaying structure to become truly usable. This structure is provided by a file system.
File systems such as NTFS, ext4, FAT32, and exFAT exist to organize data on block devices. They allow operating systems to locate and retrieve data using familiar concepts like folders and file paths. Without a file system, block storage is just an unordered sequence of bytes — highly efficient, but unintelligible to users and applications. When an operating system like Windows formats a disk with NTFS, it’s not turning the storage into a different type; it’s simply applying a schema to make the underlying blocks usable in a structured, hierarchical way.
It’s tempting to assume that block storage could flexibly distribute its blocks across different operating environments, but this isn’t the case. A single volume’s blocks are managed together by the storage backend and are tied to one operating system instance at a time. While distinct volumes can certainly be mounted on different platforms (say, one for Linux, another for Windows), the blocks within a volume are inseparable across environments. Some interpretations, even from respected sources, have suggested otherwise — but in practical terms, systems do not scatter blocks of the same volume across incompatible OS environments.
Services like Amazon Elastic Block Store (EBS) make block storage accessible in the cloud. When you provision an EBS volume, you receive a raw disk-like device. To use it, you must format it with a file system, which then gives you the ability to create folders, write files, and manage permissions. EBS does not provide folders or a usable interface out of the box — that’s the job of the file system you install.
In contrast, Amazon Elastic File System (EFS) abstracts much of that work away. EFS is a fully managed file storage service that behaves like a shared drive. It provides a POSIX-compliant file system over the NFS protocol and allows multiple compute nodes to access the same data concurrently. While EFS may also be built atop block storage infrastructure internally, this is abstracted from the user. What you interact with is a ready-to-use file system that doesn’t require manual formatting or volume management.
The existence of both EBS and EFS is not redundant but rather strategic. Each is designed for distinct workloads. EBS is ideal for low-latency, high-throughput tasks like running databases or operating systems — workloads that demand complete control over the storage layer. EFS, meanwhile, is designed for scalability and sharing, fitting seamlessly into use cases where multiple machines need concurrent access to common data, such as web applications, configuration repositories, and shared analytics data.
Although both services may be powered by block storage at the infrastructure level, the experience they provide is fundamentally different. EBS offers raw storage for you to configure. EFS delivers a turn-key, shared file system. Understanding these layers — from raw block devices to file systems to managed services — is essential for designing robust and scalable systems in the cloud.