Presentation: Scaling Patterns for Netflix's Edge

Track: Architectures You've Always Wondered About

Location: Ballroom A

Duration: 10:35am - 11:25am

Day of week: Monday

Share this on:

Abstract

In 2008 Netflix had less than a million streaming members. Today we have over 150 million. That explosive growth in membership has led to a similar growth in the number of microservices, in the amount of cloud resources, and our overall architectural complexity. Eventually, that sheer number of computation resources becomes hard to manage and sacrifices our reliability. At Netflix, we’ve found a few techniques that have helped keep our computation growth manageable and reliable.  

There are the obvious tasks of performance tuning, reducing features, or reducing data. Going beyond just “tightening the belt” tactics, we had to rethink how we handle every request. At our scale, we can no longer call a customer database on every request, we can no longer fan out to a cascade of mid-tier requests on every request, and we can no longer log every request, so we don’t. This session will introduce the architectural patterns we’ve adopted to accomplish skipping those steps, which would normally be considered required for a functioning system.    

I will also be sharing successes we’ve had from unintuitively partitioning computation into multiple services to get better runtime characteristics. Through this session, you will be introduced to useful probabilistic data structures, innovative bi-directional data passing, and open-source projects available from Netflix that make this all possible.

Speaker: Justin Ryan

Playback Edge Engineering @Netflix

Justin Ryan started writing code on a Commodore 64 and hasn’t stopped since then. As part of Netflix’s Playback Edge Engineering, he works on some of the most critical services at Netflix, specifically focusing on user and device authentication. Years of building developer tools has also given him a healthy set of opinions on developer productivity.

Find Justin Ryan at

Tracks

Monday, 11 November

Tuesday, 12 November

Wednesday, 13 November