Backend Development 4 min read

Twitter’s Media Platform: Scaling Image Uploads and Storage Optimizations

The talk by Twitter engineer Henna Kermani outlines how the Media Platform’s decoupled, resumable upload pipeline, handle‑based storage, TTL policies, on‑demand processing, and Progressive JPEG adoption enabled processing 3,000 images per second while cutting storage, compute costs and improving operational flexibility.

Art of Distributed System Architecture Design
Art of Distributed System Architecture Design
Art of Distributed System Architecture Design
Twitter’s Media Platform: Scaling Image Uploads and Storage Optimizations

Today Twitter is creating and persisting 3,000 (200 GB) images per second, saving $6 million in 2015 thanks to improved media storage policies.

Originally a text‑only service in 2012, Twitter transitioned to a media‑rich platform by 2016, supporting photos with previews, multi‑photos, GIFs, vines, and inline video through a new Media Platform .

Henna Kermani, a Software Development Engineer at Twitter, presented the Media Platform at Mobile @Scale London, focusing on the image pipeline but noting that many lessons apply to other media types.

Key lessons from the talk include:

Doing the simplest thing that can possibly work can really screw you. An all‑or‑nothing image upload approach caused lock‑in and poor scalability on weak networks.

Decouple. Separating media upload from tweeting allowed independent optimization and greater operational flexibility.

Move handles not blobs. Storing data and referencing it with handles avoids moving large data chunks, reducing bandwidth and performance overhead.

Adopting segmented resumable uploads dramatically lowered media upload failure rates.

Experiment and research. A 20‑day TTL for image variants balanced storage and computation, saving nearly 4 TB of data per day, halving required compute servers, and saving millions of dollars annually.

On demand. Deleting old image variants and recreating them on‑the‑fly increased flexibility and centralized control.

Progressive JPEG proved to be an excellent image format with strong frontend and backend support, performing well on slower networks.

backend engineeringOperationsscalabilityStorage OptimizationTwitterImage Uploadmedia platform
Art of Distributed System Architecture Design
Written by

Art of Distributed System Architecture Design

Introductions to large-scale distributed system architectures; insights and knowledge sharing on large-scale internet system architecture; front-end web architecture overviews; practical tips and experiences with PHP, JavaScript, Erlang, C/C++ and other languages in large-scale internet system development.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.