Dropbox Tech Blog Icon

Dropbox Tech Blog

Dropbox's Tech Blog
dropbox.tech • 2 Stories
All Sources

Dropbox Tech Blog Icon Dropbox Tech Blog

Our journey from a Python monolith to a managed platform

Dropbox Engineering tells the tale of their new SOA:

The majority of software developers at Dropbox contribute to server-side backend code, and all server side development takes place in our server monorepo. We mostly use Python for our server-side product development, with more than 3 million lines of code belonging to our monolithic Python server.

It works, but we realized the monolith was also holding us back as we grew.

This is an excellent, deep re-telling of their goals, decisions, setbacks, and progress. Here’s the major takeaway, if you don’t have time for a #longread:

The single most important takeaway from this multi-year effort is that well-thought-out code composition, early in a project’s lifetime, is essential. Otherwise, technical debt and code complexity compounds very quickly.

Dropbox Tech Blog Icon Dropbox Tech Blog

How we migrated Dropbox from Nginx to Envoy

In this blogpost we’ll talk about the old Nginx-based traffic infrastructure, its pain points, and the benefits we gained by migrating to Envoy. We’ll compare Nginx to Envoy across many software engineering and operational dimensions. We’ll also briefly touch on the migration process, its current state, and some of the problems encountered on the way.

Envoy, for the uninitiated, is a proxy server “designed for cloud-native applications”. It was created by Lyft and used by a lot of big players in the cloud/services world.

Not only is this article interesting as a “switching” story, it’s also fascinating because of the scale of the migration:

When we moved most of Dropbox traffic to Envoy, we had to seamlessly migrate a system that already handles tens of millions of open connections, millions of requests per second, and terabits of bandwidth.

High stakes!

0:00 / 0:00