Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems product image

Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems

Nerd Approved:
(5/5)
Review by Joshua Morris on
View on AmazonAs an Amazon Associate, I earn from qualifying purchases at no additional cost to you.

Review

Designing for Scalability with Erlang/OTP is the book that changed how I think about fault tolerance. I don't write Erlang, but the mental models in this book—supervision trees, let it crash, process isolation—apply to any system that needs to be resilient. The chapter on supervision trees showed me why our microservices kept cascading failures: we weren't isolating failures properly, and one service going down took everything with it. The section on hot code swapping gave me ideas for zero-downtime deployments in other languages, and the chapter on distributed systems helped me understand why some architectures are more resilient than others. The book is technical—you'll need to understand concurrency and distributed systems—but the concepts are explained clearly. My only critique is that some of the Erlang-specific details won't apply if you're not using the language, but the principles are worth it. I've recommended it to developers working on distributed systems, and they've all said it helped them think about fault tolerance differently. Essential reading for anyone building systems that need to stay up.

✓ Pros

  • Mental models for fault tolerance that apply beyond Erlang
  • Clear explanation of supervision trees and let-it-crash philosophy
  • Principles help design resilient systems in any language
  • Excellent chapter on distributed systems and failure isolation

✗ Cons

  • Erlang-specific details won't apply if you're not using the language
  • Requires understanding of concurrency and distributed systems
  • Some concepts are easier to implement in Erlang than other languages

Specifications

Pages518
PublisherO'Reilly Media
LanguageEnglish
Isbn13978-1449320737
Publication DateMarch 25, 2016

Related Products

97 Things Every Programmer Should Know: Collective Wisdom from the Experts product image

97 Things Every Programmer Should Know: Collective Wisdom from the Experts

Nerd Approved:
(4/5)

Edited by Kevlin Henney, a curated set of timeless, page-length lessons from industry legends. Each item is a standalone insight you can read in five minutes.

Timeless, page-length lessons from industry legends. Perfect for busy developers—read one item in five minutes, learn something useful, put it down. Read full review.

As an Amazon Associate, I earn from qualifying purchases at no additional cost to you.
Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations product image

Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations

Nerd Approved:
(5/5)

Research-backed field guide that ties lean software delivery habits to measurable business outcomes, unpacking the DORA metrics, cultural foundations, and continuous delivery capabilities that separated top performers in the Accelerate State of DevOps reports.

Still my go-to reference when aligning execs around DORA metrics and the cultural work that makes continuous delivery stick. Read full review.

As an Amazon Associate, I earn from qualifying purchases at no additional cost to you.
Algorithms (4th Edition) product image

Algorithms (4th Edition)

Nerd Approved:
(5/5)

The leading algorithms textbook with clear Java implementations and full coverage of sorting, searching, graph processing, and string processing.

Leading algorithms textbook with clear Java implementations and an unmatched companion ecosystem of exercises, visualizations, and lectures. Read full review.

As an Amazon Associate, I earn from qualifying purchases at no additional cost to you.