Back

Blog details

What Is Amazon S3? Object Storage, Fully Explained

AIOZ Network
6 min readAugust 27, 2026
aioz-storage
Server room aisle with rows of dark server racks

Amazon S3 is AWS's object storage service, and it is also, unofficially, the closest thing cloud storage has to a universal API. Launched in 2006 as the first generally available AWS service, S3's REST interface for storing and fetching data by bucket and key became so widely adopted that dozens of other storage providers, AIOZ Storage among them, now implement the same API surface rather than inventing their own. This article covers what S3 actually is, the bucket/object/key model underneath it, how object storage differs from block and file storage, and what "S3-compatible" means for a provider that isn't AWS.

TL;DR:

  • Amazon S3 is an object storage service: data is stored as discrete objects, identified by a key, inside a bucket, not as files in a directory tree or blocks on a disk.
  • Launched March 14, 2006, S3 was AWS's first generally available service and now stores more than 500 trillion objects.
  • "S3-compatible" means a provider implements S3's own REST API, so existing S3 tools, SDKs, and code work against it with just a changed endpoint. AIOZ Storage is one of many providers that do this.

What Is Amazon S3?

Amazon Simple Storage Service, S3, is AWS's own description: "an object storage service that offers industry-leading scalability, data availability, security, and performance." It launched on March 14, 2006, as the first generally available AWS service, years before EC2 or most of what people now think of as "the cloud." Today it stores more than 500 trillion objects, according to AWS's own 20th-anniversary retrospective, a scale that makes it one of the most widely used storage systems in existence, and the API it exposes has become a de facto standard well beyond AWS's own infrastructure.

The Core Model: Buckets, Objects, and Keys

AWS's own documentation puts the model plainly: "An object is a file and any metadata that describes the file. A bucket is a container for objects." Every object gets a key, a unique identifier within its bucket, and AWS describes the relationship as "a basic data map between 'bucket + key + version' and the object itself." There's no separate concept of folders the way a filesystem has them. A key like photos/2026/puppy.jpg looks like a file path, but it's just a string; the bucket's storage structure underneath is flat, not a real directory tree, and tools that show it as folders are just splitting that key string on its slashes for display.

That flatness is a deliberate simplification, not a missing feature. It's part of why S3's API is so easy to implement: a client asks for an object by bucket and key, gets back bytes and metadata, and never has to reason about directory permissions, symlinks, or any of the complexity a real filesystem carries.

Close-up of code displayed on a computer screen

Object Storage vs Block Storage vs File Storage

Three different models for three different jobs, and AWS's own comparison draws the lines clearly. Object storage, S3's model, "stores and manages all data in an unstructured format... in units called objects," each with its own metadata, built for large amounts of unstructured data at massive scale. Block storage "takes any data... and divides it into blocks of equal sizes," optimized for fast, low-latency access, the model behind a database's disk or a virtual machine's boot volume. File storage organizes data "into hierarchy with directories and folders," following protocols like SMB or NFS, built for the case where multiple users or systems need concurrent, shared access to the same file tree.

None of these is strictly better, they're built for different access patterns. Object storage's tradeoff is the one that matters here: give up a real directory hierarchy and block-level speed, and get durability, near-unlimited scale, and a dead-simple HTTP API in return, exactly the tradeoff that makes S3-style storage the default choice for datasets, backups, media files, and generated output that doesn't need millisecond-level access or a shared filesystem.

What Does "S3-Compatible" Actually Mean?

It means a storage provider implements S3's own REST API well enough that software written against Amazon S3, an SDK, a CLI, a script calling PutObject and GetObject, works against that provider too, usually by changing nothing but the endpoint URL and credentials. S3's API became the reference point other providers converge on for the same reason any early, well-documented API tends to: by the time competitors needed a storage interface, "compatible with S3" was a faster path to a usable ecosystem than asking every developer to learn a new one.

That's a real, meaningful claim, not a marketing term, but it's not usually a perfect 1:1 match either. Most S3-compatible providers implement the common operations, put, get, list, delete, bucket and object metadata, faithfully, while differing on AWS-specific extras like S3 Object Lambda, S3 Tables, or the exact consistency guarantees AWS documents for concurrent writes. Checking what a specific provider actually supports, rather than assuming full parity from the label alone, is worth doing before building anything that depends on an edge case.

Where AIOZ Storage Fits

AIOZ Storage is one of the providers that took this path: an S3-compatible object store, implementing the same bucket/key/object model and REST API described above, but running on AIOZ DePIN, a decentralized network of independently operated nodes, instead of a company-owned data center fleet. That single architectural difference is what the rest of this knowledge hub actually digs into, what AIOZ Storage is and how S3-compatible it really is in full, plus its specific encryption model, pricing, and access controls. Everything in this article, buckets, keys, objects, the REST API, applies to AIOZ Storage exactly as described here; it's a real S3-compatible implementation, not a look-alike with a different API underneath.

Frequently Asked Questions

What is Amazon S3 in simple terms?
An object storage service from AWS: you store data as objects, identified by a key, inside a bucket, and access them over a REST API. It launched in 2006 as AWS's first generally available service.

What's the difference between an object, a bucket, and a key in S3?
A bucket is a container. An object is the actual data plus its metadata. A key is the unique identifier for an object within its bucket. AWS describes the combination of bucket, key, and version as a data map pointing to the object itself.

Does S3 have real folders?
No. Object keys can contain slashes and look like file paths, but the underlying storage is flat. Tools that display "folders" are splitting the key string for display, not reading a real directory structure the way a filesystem would.

How is object storage different from block storage?
Block storage divides data into fixed-size blocks optimized for fast, low-latency access, the model behind database disks and virtual machine volumes. Object storage stores whole objects with metadata, built for scale and durability over raw speed, better suited to large, less latency-sensitive datasets.

What does it mean for a storage provider to be "S3-compatible"?
It implements Amazon S3's own REST API closely enough that existing S3 tools, SDKs, and code work against it by changing only the endpoint and credentials, without needing a rewrite.

Is AIOZ Storage actually compatible with Amazon S3, or just similar?
Genuinely S3-compatible: the same bucket/object/key model and REST API described in this article, reachable through the same SDKs and CLI tools used against Amazon S3 itself, just pointed at a different endpoint.

Why did S3's API become an industry standard instead of every provider inventing its own?
S3 launched early, in 2006, with a simple, well-documented REST interface. By the time competing storage providers needed an API, matching S3's became the faster way to inherit an existing ecosystem of tools and developer familiarity rather than asking users to learn something new.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

How to Build an MCP Server for AIOZ Storage, Step by Step

AIOZ Storage has no official MCP server yet. Here is a working MCP server for AIOZ Storage, built with the official Python SDK and boto3, tools included.

aioz-storage
6 min readSeptember 19, 2026
blog thumbnail

What Is an MCP Server? How AI Agents Access Storage

What is an MCP server: a standard letting AI agents like Claude use tools and data through one protocol. How MinIO and Azure apply it to object storage.

aioz-storage
6 min readSeptember 16, 2026
blog thumbnail

S3 Access Logs vs CloudTrail: Which Should You Use?

S3 access logs vs CloudTrail: AWS recommends CloudTrail, but each one catches real events the other misses. Speed, cost, and coverage, compared directly.

aioz-storage
5 min readSeptember 15, 2026
blog thumbnail

Eventual vs Strong Consistency: How S3 Made the Switch

Eventual vs strong consistency: whether a read right after a write sees the new data immediately. S3 ran on the first model for 14 years, then changed it.

aioz-storage
6 min readSeptember 14, 2026
blog thumbnail

Bucket Policy vs IAM Policy: What Is the Real Difference?

Bucket policy vs IAM policy: one attaches to the resource, one attaches to the identity. What each can do that the other can't, and how S3 evaluates both.

aioz-storage
6 min readSeptember 13, 2026
blog thumbnail

SSE-S3 vs SSE-KMS vs SSE-C: S3 Encryption Types Explained

SSE-S3 vs SSE-KMS vs SSE-C: who manages the encryption key, and what that decision actually costs you. Includes the real 2026 default change to SSE-C.

aioz-storage
6 min readSeptember 12, 2026