AWS Storage Fundamentals: Block, File, and Object Storage
Storage types with associated characteristics (for example, object, file, block)
AWS Storage Fundamentals: Block, File, and Object Storage
This guide explores the three primary storage types used in cloud architecture—Block, File, and Object storage—focusing on their characteristics, AWS implementations, and ideal use cases for the SAA-C03 exam.
Learning Objectives
After studying this guide, you should be able to:
- Differentiate between block, file, and object storage architectures.
- Identify the specific AWS services associated with each storage type (EBS, EFS, S3).
- Match performance requirements (latency, throughput) to the correct storage solution.
- Select the most cost-effective storage for diverse workloads.
Key Terms & Glossary
- IOPS (Input/Output Operations Per Second): A performance metric used to measure the speed of block storage devices.
- Metadata: Data about data; in object storage, this includes keys, tags, and system attributes (up to 2 KB in S3).
- Mounting: The process of attaching a block or file storage system to an operating system so its contents are accessible.
- POSIX: A set of standards for maintaining compatibility between operating systems; relevant for EFS/FSx file permissions.
- Throughput: The amount of data moved from one place to another in a given time period (e.g., MiB/s).
The "Big Idea"
Choosing the right storage type is not just about capacity; it's about the access pattern. If your application needs to change individual bytes within a file (like a database), you need Block. If you need multiple servers to see the same directory tree, you need File. If you need to store trillions of static images accessible via the web, you need Object. Picking the wrong one leads to performance bottlenecks or architectural complexity.
Formula / Concept Box
| Characteristic | Block (EBS) | File (EFS/FSx) | Object (S3) |
|---|---|---|---|
| Unit of Storage | Data Block | File | Object (Data + Metadata) |
| Access Protocol | iSCSI / Fibre Channel | NFS / SMB | HTTP(S) / REST |
| Scalability | Fixed Size (Vertical) | Elastic (Horizontal) | Virtually Unlimited |
| Speed | Lowest Latency | Moderate Latency | Higher Latency (TTFB) |
| AWS Service | Amazon EBS | Amazon EFS / FSx | Amazon S3 |
Hierarchical Outline
- Block Storage (Amazon EBS / Instance Store)
- Structure: Divides data into fixed-sized blocks; managed by an OS filesystem (NTFS/ext4).
- Performance: Optimized for low-latency, high-IOPS workloads.
- Persistence: EBS is durable and survives instance termination; Instance Store is ephemeral (lost on stop/termination).
- File Storage (Amazon EFS / FSx)
- Structure: Hierarchical folder/directory structure with metadata (owner, permissions).
- Shared Access: Can be mounted by hundreds of EC2 instances simultaneously.
- EFS: Managed NFS for Linux workloads.
- FSx: Specialized file systems (Windows File Server, Lustre for HPC, NetApp ONTAP).
- Object Storage (Amazon S3)
- Structure: Flat address space; every object is a "Key" (name) and "Value" (data).
- Accessibility: Internet-accessible via URL; not mountable as a local drive.
- Durability: Designed for 99.999999999% (11 nines) durability.
Visual Anchors
Storage Architecture Flow
Block vs Object Visualized
\begin{tikzpicture}[node distance=1cm] % Block Storage Drawing \draw (0,0) rectangle (2,2); \draw (0,0.5) -- (2,0.5); \draw (0,1) -- (2,1); \draw (0,1.5) -- (2,1.5); \draw (0.5,0) -- (0.5,2); \draw (1,0) -- (1,2); \draw (1.5,0) -- (1.5,2); \node at (1,-0.5) {Block (Segmented)};
% Object Storage Drawing \draw (4,1) circle (0.8); \node at (4,1) {Data}; \draw (3.2,1.8) rectangle (4.8,2.2); \node at (4,2) {\tiny Metadata/Key}; \node at (4,-0.5) {Object (Discrete)}; \end{tikzpicture}
Definition-Example Pairs
- Block Storage: A storage system where data is stored in chunks called blocks.
- Example: An Amazon EBS volume used as the
C:\drive for a Windows server to host an SQL Server database.
- Example: An Amazon EBS volume used as the
- Object Storage: A system that manages data as objects, containing data, metadata, and a unique identifier.
- Example: Storing millions of user profile pictures in an Amazon S3 bucket for a social media app.
- File Storage: A system that organizes data into a hierarchy of files and folders.
- Example: A shared
\marketing-assetsfolder mounted on ten different Linux EC2 instances via Amazon EFS.
- Example: A shared
Worked Examples
Scenario 1: Shared Web Content
Problem: You have a fleet of 50 EC2 instances running a web server. They all need to access a common set of PHP scripts and static assets. Which storage do you use?
- Analysis: Since multiple instances need simultaneous read/write access to a folder structure, Block storage (EBS) is inappropriate (it is generally 1:1). Object storage (S3) is possible but requires code changes to use APIs.
- Solution: Amazon EFS is the best fit as it provides a shared, elastic filesystem.
Scenario 2: High-Performance Database
Problem: A database requires consistent sub-millisecond latency and 15,000 IOPS for transaction processing.
- Analysis: S3 and EFS have too much overhead for sub-millisecond per-operation latency.
- Solution: Amazon EBS (Provisioned IOPS SSD - io2). Block storage is the standard for high-performance databases because the OS interacts directly with the storage blocks.
Checkpoint Questions
- Which AWS storage service allows for the storage of effectively unlimited data and is accessible via HTTP?
- What is the main difference between Amazon EBS and Amazon Instance Store regarding data persistence?
- You need to provide shared storage for a Windows-based application using the SMB protocol. Which service do you choose?
- True or False: Amazon S3 can be mounted directly as a local drive by a standard Linux OS without third-party software.
[!TIP] Remember for the exam: EBS = One Instance (usually), EFS = Many Instances (Linux), S3 = Unlimited/Anywhere (Web).