/Architecture

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


How LinkedIn Adopted A GraphQL Architecture For Product Development

- Arun Sethuramalingam tl;dr: “In this blog post, we will cover how the GraphQL layer is architected for use by our internal engineers to build member and customer facing applications. Specifically, we will dive into some of the architectural choices that are unique to LinkedIn and why we chose each one of them.”

featured in #411


How To Survive Your Project's First 100,000 Lines

- Evan Ovadia tl;dr: The Vale compiler hit its 100,000th line of code - this article explains how it was kept from collapsing. “Some of these software engineering techniques came from my time at Google, though ironically most came from my work on the Vale compiler and game development so some of these might be surprising to my engineer comrades out there.” Techniques range from determinism, to testing, to type-system techniques, to general architectural best-practices.

featured in #411