Thuta Learning
IntermediateDevOpsbeginner

S3 Basics (Simple Storage Service)

Relax. We'll talk through this in plain words — no textbook voice.

What you'll walk away with

  • Understand S3 Basics (Simple Storage Service) without the intimidation
  • Be able to run the AWS CLI/Console yourself
  • Apply this concept immediately in a real project

Let's think about this for a second

An S3 Bucket is a container that holds files (called 'objects') — bucket names must be globally unique across all of AWS. An Object is a single file (with a key/name, data, and metadata). S3 offers several Storage Classes — Standard (frequently-accessed data), Infrequent Access (IA, for data you read occasionally, cheaper), and Glacier (archive/backup, slowest to read but cheapest) — choosing the right one for your access pattern can significantly cut costs.

Let's connect this to a real scenario

If you keep user-uploaded images (profile pictures, product photos) in S3 Standard, and move backup files (read maybe once a month) into Glacier, you can cut storage costs by up to 80% — you can even use an S3 Lifecycle Policy (an advanced concept) to move objects automatically.

Let's look at it together

bash
# Create a bucket (name must be globally unique)
aws s3 mb s3://my-tutorial-bucket-2026

# Upload a file
aws s3 cp ./photo.jpg s3://my-tutorial-bucket-2026/photo.jpg

# List objects in the bucket
aws s3 ls s3://my-tutorial-bucket-2026

# Upload with a cheaper storage class
aws s3 cp ./backup.zip s3://my-tutorial-bucket-2026/ --storage-class GLACIER
You should see
$ aws s3 ls s3://my-tutorial-bucket-2026
2026-08-25 10:00:00     245678 photo.jpg

5-minute try-it

Create an S3 bucket and upload a few files — try uploading with both Standard and Glacier storage classes, and compare the price estimates in the Console.

A quick word of caution

Be extremely careful before making an S3 bucket publicly accessible — most public data breach incidents trace back to misconfigured S3 buckets. By default, every bucket is private.

Easy traps

  • Naming a bucket too close to a sensitive project name (a confidential company project) — bucket names are easy to guess if someone tries
  • Setting bucket permissions to 'public' and storing sensitive data in it — this can lead to a data breach

Now try it yourself

Create an S3 bucket and upload a few files — try uploading with both Standard and Glacier storage classes, and compare the price estimates in the Console.

You'll know it worked when: $ aws s3 ls s3://my-tutorial-bucket-2026 2026-08-25 10:00:00 245678 photo.jpg

S3 Basics (Simple Storage Service) | Thuta Learning