</> MAANG.io
system design · 201

Intermediate

Master system design interviews with scalable architecture patterns, distributed systems, and real-world design challenges.

0/124 solved 0% complete

Object Storage (S3 & Azure Blob)

maang.io System Design Series


Object storage (Amazon S3, Azure Blob) keeps data as objects — a blob plus rich metadata — in a flat namespace addressed by key, not a file tree. It trades filesystem semantics for near-infinite scale and eleven-nines durability via replication/erasure coding. It's the substrate under data lakes, backups, static hosting, and big-data pipelines.

This deep dive comes in three parts:

  • Foundations & Core Concepts — objects vs block/file storage and the key-based model.
  • Internals — durability, consistency, storage tiers, and multipart upload, with worked numbers.
  • Interview — Staff/Principal Q&A: when object storage fits and its consistency guarantees.

Object Storage (S3 & Azure Blob) — Part 2: Internals & Durability

maang.io System Design Series


What is this?

Back to the planetary coat check. In Part 1 we stood at the counter: hand over a coat, get a ticket, trust that it comes back. Now we walk behind the counter and watch how the operation actually runs — because "give it bytes, get eleven nines" is not magic, it's a specific, elegant machine, and a Staff engineer is expected to know its moving parts.

Three questions drive this chapter, and they're the three an interviewer will push on:

  1. How does it physically not lose your data? (replication vs erasure coding, across failure domains)
  2. How does a PUT and a GET actually flow through the system?
  3. How can it be strongly consistent at planetary scale — and where does consistency still get fuzzy?

The one-line idea: Under the hood an object store is two systems bolted together — a metadata index (a massive, sharded, sorted key-value store mapping key → where the bytes live) and a data plane (a sea of storage nodes holding the bytes, spread across independent failure domains and protected by replication or erasure coding). A write becomes durable in the data plane first, then commits by updating the index; that index update is the single source of truth that makes reads strongly consistent.

Let's open it up.


Sign in to continue reading

The rest of this lesson is available with a free account. Signing in with Google or Microsoft is free.

Sign in to read the full lesson

Sign in to MAANG.io

Use your Google or Microsoft account — no password to remember.

Continue with Google Continue with Microsoft

Please accept the terms above to continue.