Design an object storage service like S3
PremiumCloud infrastructureMedium
- Object storage
- Erasure coding
- Durability
Quick answer
This cloud infrastructure interview question asks you to design an object storage service like S3. Aim for a design that runs reliably and securely in the cloud at a sensible cost, then explain the services, regions, deployment and trade-offs. Interviewers want to see how you balance reliability, security and cost.
The problem
Design an object storage service like Amazon S3: users put and get objects by bucket and key over HTTP, from a few bytes to 5 TB. The hard parts are eleven-nines durability on disks that fail daily, strong read-after-write consistency, and a metadata index for a trillion keys.
Objects are never edited in place; a PUT replaces the whole object. Data is split into erasure-coded fragments spread over three availability zones, and a metadata service maps each bucket and key to its fragments.
What must an object storage service like S3 do?
- Put and get: PUT, GET (with byte ranges), HEAD and DELETE objects by bucket and key, for objects up to 5 TB in this design.
- Multipart upload: Upload a large object in parts of 5 MB to 5 GB, up to 10,000 parts, in parallel and resumable, then complete it in one call.
How well must it do it?
- Durability: Designed for 99.999999999% annual durability per object; no single disk, server or zone loss destroys data.
- Consistency: Strong read-after-write: once a PUT or DELETE succeeds, every later GET and LIST reflects it.
What scale should you design for?
Use these numbers in your estimates.
The scale numbers unlock with this questionUnlock
Key concepts
- Object storage
- Erasure coding
- Durability
- Strong consistency
- Multipart upload
- Metadata partitioning
How you’ll practise
- Requirements
- Environments and topology
- Deployment pipeline
- Reliability and disaster recovery
- Observability and cost
- Wrap-up
Lala, personalized to you, gives a hint when you ask and reviews your design when you are ready.
What do interviewers look for?
In any cloud infrastructure design round.
- Clarifies availability, security and cost targets
- Chooses managed services with reasons
- Plans regions, zones and failover
- Covers identity, secrets and network boundaries
- Explains deployment, rollback and observability
- Keeps an eye on cost as usage grows
Questions people ask about this interview question
- Which design type is this question?
- It is a cloud infrastructure question. You design an object storage service like S3 and explain your choices the way you would in an interview.
- Is this question asked at entry level?
- It is marked Medium. Entry-level engineers can practise it, but it expects you to reason about requirements and trade-offs, not only list components.
- What should I cover first?
- Start with the workloads, the availability target and the security and cost limits. Agree on scope with the interviewer before you design anything.
- Can I practise it for free?
- It is a premium question. Sign up and unlock it once for 10 credits; it then stays unlocked. When you finish, Lala, your personalized AI mentor, can review your design for 30 credits.
Related questions
- Design an application health check systemCloud infrastructure · EasyPremium
- Design a distributed software release orchestration platformCloud infrastructure · HardPremium
- Design a multi-cloud disaster recovery orchestration platformCloud infrastructure · HardPremium
- Design a global infrastructure change approval & risk assessment platformCloud infrastructure · HardPremium
Updated · Written by the SevyDevy team