Systems Recipes - Issue #6

Systems Recipes

Welcome to Issue #6. We hope everyone is keeping safe and sound and washing your hands regularly.

We are dedicating this issue to networking. Networking has evolved a lot in the last decade and is undoubtedly one of the key parts of running systems. We will primary dig into load balancing this week.

If you have read or watched anything interesting lately that you think will be a good fit for future issues or have any feedback, simply hit reply. You can also reach out on Twitter or send an email! 📧


Introduction to modern network load balancing and proxying

This a comprehensive introduction by Matt Klein, the creator of the Envoy Proxy on how load balancing has evolved over the years and how modern systems approach it. It also offers an excellent comparison of L4 vs L7 load balancing and the tradeoffs involved in each of them.

Introduction to modern network load balancing and proxying | by Matt Klein | Envoy Proxy

It was brought to my attention recently that there is a dearth of introductory educational material available about modern network load balancing and proxying. I thought to myself: How can this be…

Internet-Scale Loadbalancing

This talk from SRECon 2019 Americas tries to demystify load balancing at Google scale tracing the path of a single packet as it makes it journey through various layers in the stack. It also talks about various load balancing techniques and the tradeoffs involved in each of them.

Keeping the Balance: Internet-Scale Loadbalancing Demystified | USENIX

Can you explain the entire path that an IP packet takes from your users to your binary? What about a web request? Do you understand the tradeoffs that different kinds of load balancing techniques make? If not, this talk is for you.

Dropbox's Migration from Nginx to Envoy

Dropbox conducted a large scale migration of their traffic infrastructure from Nginx to Envoy Proxy. This system handled millions of requests per second and had to be migrated seamless without downtime.

Dropbox’s motivation for the switch was to improve performance, maintainability and observability. The post goes into detail about the migration process, the troubles Dropbox faced during the process and the benefits they gained once the process was complete.

How we migrated Dropbox from Nginx to Envoy - Dropbox

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.