7. Design a File Storage Service
Upload and share large files with resumable transfer, versions and safe metadata changes.
Pick a system. Work through the problem. Compare your approach.
Company tags are community-reported. Counts on cards show how many people reported that design.
Upload and share large files with resumable transfer, versions and safe metadata changes.
Turn uploads into playable renditions and serve viewers through unreliable networks.
Streaming multi-gigabyte uploads through application servers wastes the most expensive capacity in the system on copying bytes, and ties up a request for minutes on a connection that may drop.
Photos and videos for 500 million daily users: presigned multipart uploads, a processing pipeline, CloudFront and a hybrid fan-out feed.
The URL shortener with a payload: the same id generation and cache-first read path, but the value is kilobytes of text, so it moves out of the database and into object storage.