Modeling Money Movement: Ledgers, State Machines, and Exactly-Once Effects
How Stripe models money movement with immutable ledger entries and explicit state machines to guarantee correctness even when networks and services fail.
Tag
96 articles
How Stripe models money movement with immutable ledger entries and explicit state machines to guarantee correctness even when networks and services fail.
Why Spotify's early client-side streaming relied on peer-to-peer delivery, and why it later moved entirely to server and CDN-based delivery instead.
How Amazon's early commitment to asynchronous, queue-based decoupling shaped SQS and became a default pattern across its service architecture.
How Airbnb's search ranking moved from hand-tuned heuristics to gradient-boosted trees and eventually neural networks, and what each transition actually bought.
How Amazon's two-pizza teams, operational readiness reviews, and correction-of-error documents work together as an operating system, not just slogans.
Why Facebook replaced InnoDB with MyRocks, an LSM-tree storage engine built on RocksDB, to shrink storage footprint across its huge MySQL fleet.
The columnar storage and execution-tree design behind Google's Dremel engine, and how it became the foundation for BigQuery.
How a painful database outage pushed Netflix to build Chaos Monkey, the Simian Army, and a culture that tests failure before failure finds you.
Why Stripe built its own type checker, Sorbet, instead of rewriting its large Ruby codebase, and how gradual typing let adoption happen incrementally.
Why Netflix's personalization system is architected as many specialized algorithms for ranking, rows, and artwork rather than a single model.
Pinterest hit early scaling walls, tried NoSQL alternatives, then built ID-encoded sharded MySQL instead — and it outlasted the exotic options.
How Spotify's event pipeline evolved from batch log collection off servers to a real-time, cloud-native Pub/Sub system serving hundreds of consuming teams.
How Amazon Aurora separates database compute from a purpose-built, log-structured distributed storage layer to cut replication network traffic.
How Airbnb replaced inconsistent, hand-rolled UI across its apps with a shared design language and component library engineers and designers could both trust.
How Uber's Cadence engine lets developers write long-running workflow logic as plain code while the platform handles retries and state durably.
How DoorDash extracted its logistics and dispatch systems from a Django monolith first, and built a service platform to avoid microservices sprawl.
How Facebook's Ads team, wrestling with cascading manual DOM updates, built React around declarative rendering and a virtual DOM diff.
How Erlang's lightweight process model and deep FreeBSD tuning let WhatsApp run hundreds of millions of users' traffic with a remarkably small team.
How Google's Site Reliability Engineering practice used error budgets and a hard cap on toil to align reliability work with product velocity.
How Stripe moves data between database schemas and systems while staying live, using a four-phase dual-write and backfill pattern instead of a maintenance window.
How Pinterest built shared machine learning feature infrastructure to rank home feed content consistently across training and real-time serving.
How Uber built Michelangelo to give data scientists a shared path from feature data to a deployed, monitored production ML model.
How thousands of undiscoverable microservices inside Spotify led to Backstage, the developer portal it later open sourced through the CNCF.
How DoorDash designs for graceful degradation and load shedding so a spike or partial outage on one side of its marketplace doesn't take down the rest.