Robert's Homepage

Notes - How Dropbox Scaled 2007 to 2012

#scalability #startups #videos

These are some of my notes taken from the Standford lecture on Youtube: How We’ve Scaled Dropbox

Main Challenges

There were two primary challenges that motivated the scaling and architecture evolution at Dropbox between 2007 to 2012:

  1. Application Write Volume
  1. ACID Requirements

Application Evolution

Beginning 2007 (0 users)

Three circles behind a straight line with the label client making a request to a single box labeled Server

Figure: The initial monolithic server

What broke?

Late 2007 (0 users)

The clients talking to the same monolithic server but with two additional boxes behind the public internet labeled S3 and Database representing the new backend servers added to this architecture

Figure: The evolved architecture using AWS’ S3 and a separate database server

What broke

Late 2008 (50k users)

The single monolith server is replaced with three new boxes labeled notification server, meta server and block server. Client still only talk to the metaserver

Figure: A three backend service architecture fragmenting the various responsibilities to a notification server, meta server and block API server

What broke?

Late 2008 (100k users)

The meta server and block server have grown by three instances while all other component parts remain the same. There is an additional load balancer in front of the meta server which is now receiving client inbound traffic

Figure: The same architecture from early 2008 but simply with additional instances of meta and block server

Early 2012 (50m Users)

All servers from the previous figures have been added to with 3 or more instances.

Figure: Multiple instances of all components. Though trivial in picture is difficult in practice

Lessons

It’s hard to know what will break until it does

The first iteration probably won’t work well