Photo storage with tiering

DesignMedium40 minMeta style

Your task

Design photo storage for a social product: users upload billions of photos, each original generating several derived sizes (thumbnail, feed, full), reads vastly outnumber writes and are heavily skewed toward recent uploads, and most photos are never viewed again after their first week. You need cheap storage at the long tail, fast delivery of hot photos, and an efficient way to manage the many small derived files. How do you store, serve, and tier this?

It covers

  • Photo storage
  • Thumbnails
  • Tiering