/Scale

Fixing Performance Regressions Before They Happen

tl;dr: “This post describes how the Netflix TVUI team implemented a robust strategy to quickly and easily detect performance anomalies before they are released — and often before they are even committed to the codebase.”

featured in #288


Designing Uber

- Ankit Sirmorya tl;dr: Ankit shows us how to design architecture similar to Uber's: Riders are able to view available drivers in nearby locations, request rides from source to destination, notify nearby drivers of the ride and allow one of them to confirm the ride, show pickup ETA to customers when a ride is dispatched. 

featured in #287


Designing Tinder

- Ankit Sirmorya tl;dr: Ankit shows us how to design the architecture for a global Tinder-like service where users can create profiles, view recommendations of other users in geographically nearby regions, like or dislike other recommended users, get notifications when matched and be able to move to a different location and still get recommendations of nearby users.

featured in #286


Designing WhatsApp

- Ankit Sirmorya tl;dr: Ankit shows us how to design such a system factoring in such scale: 1 Billion users on the application per month, 650,000 active users per second at peak, 40m messages per second at peak. "The entire application will comprise of several microservices each performing a specific task." 

featured in #285


Processing Billions Of Events In Real Time At Twitter

- Lu Zhang Chukwudiuto Malife tl;dr: "We process approximately 400 billion events in real time and generate petabyte (PB) scale data every day." The authors discuss existing challenges with the current architecture, new architecture, and how they evaluate performance.

featured in #275


RTC (Real-Time Communication) At Scale

- Horatiu Lazu tl;dr: Horatio was responsible for the products and infrastructure powering voice / video calling across FB Messenger and Instagram. Here he discusses some of the protocols that go into audio and video calling.

featured in #266


The Building Blocks Of Scale

- Kayla Kasprak tl;dr: Specific to mobile teams: (1) Smaller, more specialized teams to reduce communication overhead and have more specialized knowledge. (2) Organized, testable code so that "each software module should have one and only one reason to change.” (3) Well-reasoned architecture. Kayla mentions 4 types that work at scale. (4) Continuous evolution.

featured in #254


10 Insights from Adopting TypeScript at Scale

- Robert Palmer tl;dr: Adopting Typescript at scale was a net positive for the Bloomberg team. Principles core to the project were (1) scalability, (2) ecosystem coherence, so packages work together, (3) standards alignment, sticking to standards like ECMAScript. This article outlines some of the "surprising corners" turned.

featured in #217


How LinkedIn Handles Merging Code In High-velocity Repositories

- Niket Parikh tl;dr: This post focuses on how the CI system works with repositories of different sizes, "specifically ones with a high velocity of commits being merged into master, to ensure timeliness and code correctness."

featured in #182


When Scaling Your Workload Is A Matter Of Saving Lives

- Werner Vogels tl;dr: Werner received a call to scale the data model that governors were using to plan their response to COVID-19. He talks through how he did so with the Amazon team. 

featured in #180