AWS Builder Center

Amazon S3: More Than Just Cloud Storage

A beginner-friendly look at Amazon S3, how it works, common use cases, and the concepts I’m learning while exploring object storage on AWS.

When I first came across Amazon S3, I thought of it simply as cloud storage.
Upload a file → store it → download it.
But while exploring AWS, I realized that S3 is much more interesting than just a place to keep files.
It can become an important part of an application's architecture.

☁️ What is Amazon S3?

Amazon S3 (Simple Storage Service) is an object storage service designed to store and retrieve data from anywhere.
Instead of thinking about it like a traditional hard drive, I find it easier to think of S3 as a highly scalable storage system for objects such as:
  • Images
  • Videos
  • Documents
  • Backups
  • Logs
  • Static website files
  • Application assets
S3 organizes these objects inside buckets.
A simple way to visualize it is:
AWS Account → Bucket → Object

🪣 Buckets and Objects

One concept I found important to understand is the difference between a bucket and an object.
A bucket is the container.
An object is the actual data stored inside it.
For example:
1
2
3
4
5
6
7
8
my-website-bucket/
├── index.html
├── styles.css
├── images/
│ ├── logo.png
│ └── banner.jpg
└── documents/
└── resume.pdf
The files are objects, while the bucket provides the place where they are stored.

🔑 What is an S3 Key?

Another concept that initially seemed confusing was the word key.
An S3 object has a key that identifies it within a bucket.
For example:
Here, images/profile.jpg is the object's key.
There aren't actually traditional folders in the same way there are on a local computer. What looks like a folder structure is largely created through the object's key names.
Understanding this made S3's structure much clearer to me.

🔐 Security Matters

One of the biggest things I'm learning while exploring S3 is that storage should never be treated as automatically private or public.
S3 provides different ways to control access, including:
  • IAM policies
  • Bucket policies
  • Block Public Access
  • Access control mechanisms
For example, a private application might allow its backend to access objects while preventing direct public access.
This is where S3 starts connecting with another AWS service I’ve been learning: IAM.
The storage itself is only one part of the problem.
We also need to ask:
Who should be allowed to access it?

🌐 Where Can S3 Be Used?

S3 can fit into many different architectures.
For a simple website:
User → CloudFront → S3
For an application:
Backend → S3 → Stored Files
For backups:
Application → S3 → Backup Storage
For data processing:
S3 → Processing Service → Results
This is one reason I find AWS architecture interesting—the same service can play different roles depending on the problem we're solving.

💰 What About Cost?

Another thing I'm learning is that cloud storage isn't simply about choosing a service and forgetting about it.
S3 pricing can depend on things such as storage usage, requests, and data transfer.
S3 also provides Storage Classes for different access patterns.
For example, frequently accessed data and long-term archival data don't necessarily need the same storage strategy.
S3 Lifecycle rules can also help automatically transition or delete objects based on defined rules.
This makes cost management part of the architecture rather than something to think about only after deployment.

🛠️ What I Want to Try

One small project I'd like to build is a simple portfolio website hosted using S3.
The idea would be:
HTML/CSS → S3 → CloudFront → Users
This would give me hands-on experience with storage, permissions, static content delivery, and eventually CDN concepts.
I'd also like to experiment with uploading application files to S3 and accessing them securely from a backend.

🧠 What I'm Taking Away

The biggest lesson for me is that learning an AWS service isn't just about remembering its definition.
Instead of thinking:
"S3 = storage"
I'm starting to think:
"What problem does S3 solve, how does my application interact with it, and how should I secure and manage that storage?"
That way of thinking makes the AWS services much easier to understand.
I'm still exploring AWS, but each service I learn is starting to make more sense when I connect it to an actual application.

💬 What was your first use of Amazon S3?

Did you use it for a website, file storage, backups, or something else?
I'd love to hear what other AWS builders started with. ☁️🚀
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article