In this episode of Asynchronous and Unreliable, I talk to Sam Newman, author of Building Microservices, about his new O’Reilly book, Building Resilient Distributed Systems.

Distributed systems are hard — and, as they scale, they become hard in distinctly inhuman ways. Rare events stop being rare, components inevitably fail, resources run out, and the million-to-one chance starts happening nine times out of ten.

Sam’s new book is intended as a survival guide for developers who find themselves building distributed systems, deliberately or otherwise.

We talk about why microservices don’t automatically make systems more resilient; why resilience is a socio-technical property involving people, organisations and incentives as well as software; and why expecting failure can actually be the foundation of extraordinarily robust systems.

We also discuss what software can learn from aviation, railways and the internet; incident response and game days; Google’s wonderfully pragmatic early hardware; the dangers of adding complexity in pursuit of resilience; and why sometimes accepting that your system will go down is exactly the right engineering decision.

Plus rabbits, Godzilla, smart litter boxes, Terry Pratchett, and why Sam thinks we need to have a serious conversation about what the word “asynchronous” actually means.

Transcript

Podden och tillhörande omslagsbild på den här sidan tillhör Anne Currie. Innehållet i podden är skapat av Anne Currie och inte av, eller tillsammans med, Poddtoppen.