/Architecture

The Growing Pains Of Database Architecture

- Tim Liang tl;dr: “In 2020, Figma’s infrastructure hit some growing pains due to a combination of new features, preparing to launch a second product, and more users - database traffic grows approximately 3x annually.” Tim discusses the infrastructure changes the team implemented.

featured in #420


Architecture Principles: An Approach To Effective Decision Making In Software Architecture

- Patrick Roos tl;dr: “Are you a software architect and often find it difficult to make architecture decisions in your team? This article shows you how to use architecture principles to make effective decisions in your team.”

featured in #416


The Simple Joys Of Scaling Up

- Jordan Tigani tl;dr: “After such a dramatic increase in hardware capability, we should ask ourselves, “Do the conditions that drove our scaling challenges in 2003 still exist?” After all, we’ve made our systems far more complex and added a lot of overhead. Is it all still necessary? If you can do the job on a single machine, isn’t that going to be a better alternative?” This post digs into why scale-out became so dominant, take a look at whether those rationales still hold, and then explore some advantages of such architecture.

featured in #416


Bloom Filters Explained

tl;dr: This article explains the inner workings of a Bloom Filter by designing a data structure with the following characteristics: (1) constant time complexity to test membership. (2) A small amount of memory to test membership. (3) Insert and query operations that are parallelizable. (4) Test membership that can yield approximate results.

featured in #415


RLHF: Reinforcement Learning From Human Feedback

- Chip Huyen tl;dr: How exactly does RLHF work? Why does it work?” Chip discusses the  answers to these questions. “RL has been notoriously difficult to work with, and therefore, mostly confined to gaming and simulated environments. Just five years ago, both RL and NLP were progressing pretty much orthogonally – different stacks, different techniques, and different experimentation setups. It’s impressive to see it work in a new domain at a massive scale.”

featured in #414


Distributed Counter System Design

tl;dr: "The counter is the most primitive distributed object and is a crucial abstraction in distributed computing”. This article explores different approaches to implementing the distributed counter.

featured in #414


Monoliths Are Not Dinosaurs

- Werner Vogels tl;dr: "I always urge builders to consider the evolution of their systems over time and make sure the foundation is such that you can change and expand them with the minimum number of dependencies." Werner discusses being less dogmatic about architecture allowing it to evolve with its needs. 

featured in #413


What Happens When You Type A URL Into Your Browser?

tl;dr: At a high level, the following operations happen in the background when you type a URL into your browser and press Enter: (1) DNS resolution. (2) TCP three-way handshake. (3) HTTPS upgrade. (4) HTTP Request / Response. (5) Browser rendering the response from the server.

featured in #413


Back Of The Envelope

tl;dr: “The back of the envelope calculation is commonly used to evaluate different architectural designs. Although the optimal design depends on the system requirements, the back of the envelope calculation provides an opportunity to compare different architectural designs without prototyping.”

featured in #412


Scaling Up The Prime Video Audio / Video Monitoring Service And Reducing Costs By 90%

- Marcin Kolny tl;dr: “To ensure that customers seamlessly receive content, Prime Video set up a tool to monitor every stream viewed by customers. This tool allows us to automatically identify perceptual quality issues and trigger a process to fix them.” Marcin discusses how the service’s architecture.

featured in #412