Перейти к содержимому

Measure the Tail | System Design Music Video (Nonfunctional Requirements)

James Software Tips

0:00 / 0:00

Measure the Tail | System Design Music Video (Nonfunctional Requirements)

500 просмотров · 3 нед. назад
James Software Tips
69 подписчиков
500 просмотров · 3 нед. назад
Your average response time looks great. Your slowest users disagree. This is a song about nonfunctional requirements: the social-network home timeline (fan-out on write vs read), response time as a distribution, percentiles and tail latency, queueing and head-of-line blocking, tail latency amplification, SLOs and SLAs, faults vs failures, scaling up vs out, and maintainability. Every frame is code-rendered in 3D and synced to the lyrics. Part of the System Design Music Videos series. Chapters 0:00 Day one: the users show up 0:13 Home timelines: fan-out on write vs read 0:37 Percentiles: measure the tail, not the mean 1:09 Throughput, latency, head-of-line blocking 1:24 Tail latency amplification, SLOs and SLAs 1:40 Chorus 2:04 Faults vs failures, fault tolerance, rollbacks 2:27 Scalability: describe the load, scale up vs out 2:44 Maintainability: operability, simplicity, evolvability 3:01 Final chorus 3:24 Fast. Reliable. Scales. Easy to change. Concepts follow chapter 2 of Designing Data-Intensive Applications (2nd edition) by Martin Kleppmann and Chris Riccomini. Highly recommended. James Reinhardt | software engineer writing about operating systems, data systems and the craft of building software.