Cloud Data Services
Beginner 14 min read Cloud Data Services

Cloud Object Storage

The cheap, infinite bucket under everything

S3, GCS and Azure Blob are the backbone of the modern data stack: cheap, durable, versioned object storage that every lake, warehouse and pipeline lands on.

object storageS3GCSBlobdurabilityversioninglifecycle
Before we start

What you will learn

  • Explain object storage's model (buckets, keys, objects) and its consistency guarantees
  • Choose storage classes and lifecycle rules to control cost
  • Secure access with IAM, bucket policies and encryption
Introduction

What is this?

Object storage stores unstructured bytes addressed by a key inside a bucket, with no filesystem hierarchy (the 'folders' are just key prefixes). It is designed for durability across regions and near-infinite scale at low cost. Every modern platform — lakes, warehouses, backups — uses it as its raw landing zone because it's cheap enough to keep everything and fast enough to feed queries.

Motivation

Why do you need it?

  • Cost-per-GB collapses versus a database: keep raw data indefinitely for pennies.
  • Durability is engineered (11 nines S3) with automatic replication across facilities.
  • Versioning and lifecycle let you keep every overwrite and auto-purge cold data without custom jobs.
  • It is the interchange format: sources publish to objects, tools read them, no one owns an ETL port.
Think about it

Mental model

Imagine

A self-storage warehouse full of labeled crates

Think of

Cloud object storage

You don't organize the crates by shelf; you label each crate with a key (folder/name) and the warehouse handles durability, insurance and retrieval. Objects are just labeled crates you can fetch by key or scan with a prefix.

Mechanics

How it works

  • Buckets are namespaces; objects are bytes + metadata + version-id, addressed by key.
  • Storage classes trade access latency/cost: STANDARD, IA (infrequent), GLACIER (archive with restore time).
  • Lifecycle rules can transition class automatically and expire objects on a schedule.
  • Consistency: S3 now offers strong read-after-write for PUTs of new objects; beware eventual consistency windows in some paths.
  • Access via IAM roles/keys, bucket policies, ACLs and server-side encryption (SSE/S3 KMS).
  • Data goes in via SDK/CLI/events (S3 Event Notifications) → pipelines (Glue, Lambda, Kafka connectors) → tools (Athena, Spark, Snowflake external data).

The object storage lifecycle from write to serving.

Bucket
Write
Trigger
Class
Serve
Real world

In production

  • A startup lands every nightly export into S3 as raw/YYYY/MM/DD and runs Athena over it directly, deferring a warehouse for a year.
  • A media company version-switches stored content so every publish is a new object version, with a lifecycle rule deleting versions older than 90 days.
  • A bank archives 7 years of GLACIER retention for compliance and restores a single month on subpoena via a restore ticket.
Guidelines

Best practices

  • Use key partitioning (dt=, or YYYY/MM/DD) so queries and lifecycles prune cheaply.
  • Turn on versioning for troubleshooting, with a lifecycle to expire old versions.
  • Apply IAM least-privilege per bucket/prefix; never share long-lived access keys.
  • Encrypt at rest with SSE-KMS and set a bucket deny-public-access guard.
Watch out

Common mistakes

  • Treating keys as a real filesystem and doing millions of tiny LIST/HEAD calls (object latencies and throttling).
  • Forgetting cross-region replication cost and latency when the warehouse lives elsewhere.
  • Using STANDARD forever and watching the bill grow while data never gets queried.
  • No bucket policy → a leaked role or key exposes everything.
When things break

Debugging tips

  • When a downstream job 'sees nothing', check whether the expected object prefix actually has the object (list one prefix).
  • For 'impossible' missing objects, check eventual consistency windows after concurrent writes and read-after-list.
  • Cost spike: query the cost breakdown by storage class and region — Glacier rehydration or IA minimums are common culprits.
  • Access denied yet the key fits: diff the IAM policy, bucket policy, and any ACL/session tags all at once.
Interviews

Interview checkpoint

Test yourself

Quick quiz

0/2
1

Which workload fits object storage best?

2

Key partitioning such as dt=2026-09-22 lets query engines prune partitions cheaply.

Go deeper

Official documentation