Object Storage Foundations
Amazon S3 is an object storage service. Before discussing architecture, we must understand what object storage means.
Traditional storage models:
- Block storage (used by virtual machines and databases)
- File storage (used by shared file systems)
- Object storage (used for scalable, distributed systems)
S3 stores data as objects inside buckets.
Each object consists of:
- The data itself
- Metadata (key-value attributes)
- A globally unique identifier called the object key
Unlike block storage, S3 does not expose disks. Unlike file storage, it does not expose hierarchical file systems (even though keys can simulate folders).
How S3 Works Conceptually
At a high level:
- You create a bucket in a specific AWS Region.
- You upload objects using API calls (PUT).
- You retrieve objects using GET requests.
- Each object is addressed via HTTPS.
S3 is accessed over HTTP/HTTPS, making it inherently API-driven. This is important architecturally because it means:
- It integrates naturally with distributed systems.
- It works well with serverless.
- It scales horizontally without provisioning storage capacity.
Why Object Storage Matters in System Design
In modern cloud systems, storage must:
- Scale independently from compute
- Be durable
- Be accessible globally
- Avoid manual capacity planning
S3 satisfies these requirements.
Architecturally, this enables:
- Static website hosting
- Data lakes
- Backup systems
- Media storage
- Event-driven workflows
You never manage disks. You design around APIs.
Object Storage Fundamentals
Question 1 of 3
What is the main abstraction used by Amazon S3?
In this section, I learned:
0 of 4 completed