Dropbox is an active customer of Amazon Web Services, currently operating one of the largest global deployments into S3, tens of thousands of EC2 instances, and heavily utilizing other services like SQS and Route 53. Pushing hundreds of gigabits per second through EC2/S3 is an everyday occurrence for us, and conducting massively parallel operations across our over one trillion objects in S3 happens on an ongoing basis.
However, that’s just half the story. We also have large physical datacenters split between two geographical regions, running tens of thousands of servers responsible for storing and serving the metadata for every file in Dropbox. Managing the metadata for the one billion files saved every day means that these servers have to be extremely fast and reliable.
Orchestrating the hundreds of backend services that comprise Dropbox is an ongoing challenge for our infrastructure team, along with keeping up with growth and reliability.
Two weeks ago, at the AWS re:Invent conference, we presented a deep-dive into one of the systems that allows us to perform operations for every Dropbox file update in near-realtime. This enables features like fast photo thumbnails and video previews for Carousel, multi-platform Microsoft Office document previews, and realtime full-text search. The system bridges our physical datacenters and AWS using SQS as a fast, reliable, no-maintenance message bus that sustains ~20,000 requests per second on average, but often bursts to ~300,000 per second.
Another part of Dropbox is Mailbox, a completely reimagined email client for iOS, Android, and Mac OS X. Mailbox operates wholly on AWS and heavily leverages additional AWS services to keep their team lean and iterate quickly. Simple Notification Service‘s (SNS) support for mobile push has enabled the team to quickly support new platforms and scale their push notification pipeline with almost no effort.
Sean Beausoleil, an engineering lead on the Mailbox team, spoke at re:Invent about why they chose SNS and how it’s since become a foundation component of the Mailbox service (starts at 36:49).
Dropbox’s infrastructure and usage has grown exponentially since our launch in 2008, yet we still run everything with a small team of fewer than 100 infrastructure engineers in San Francisco, Seattle, and New York City. We’re always looking for driven, creative engineers to join the team and to push both AWS and our physical infrastructure to their limits, either as Site Reliability Engineers or Infrastructure Software Engineers.