Jump to ratings and reviews
Rate this book

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

Rate this book

If you need to build a scalable, fault tolerant system with requirements for high availability, discover why the Erlang/OTP platform stands out for the breadth, depth, and consistency of its features. This hands-on guide demonstrates how to use the Erlang programming language and its OTP framework of reusable libraries, tools, and design principles to develop complex commercial-grade systems that simply cannot fail.

In the first part of the book, you’ll learn how to design and implement process behaviors and supervision trees with Erlang/OTP, and bundle them into standalone nodes. The second part addresses reliability, scalability, and high availability in your overall system design. If you’re familiar with Erlang, this book will help you understand the design choices and trade-offs necessary to keep your system running.

Explore OTP’s building blocks: the Erlang language, tools and libraries collection, and its abstract principles and design rules Dive into the fundamentals of OTP reusable frameworks: the Erlang process structures OTP uses for behaviors Understand how OTP behaviors support client-server structures, finite state machine patterns, event handling, and runtime/code integration Write your own behaviors and special processes Use OTP’s tools, techniques, and architectures to handle deployment, monitoring, and operations

484 pages, Kindle Edition

First published January 22, 2014

40 people are currently reading
342 people want to read

About the author

Francesco Cesarini

14 books5 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
45 (54%)
4 stars
30 (36%)
3 stars
6 (7%)
2 stars
1 (1%)
1 star
0 (0%)
Displaying 1 - 6 of 6 reviews
Profile Image for Sebastian Gebski.
1,187 reviews1,337 followers
August 16, 2016
A must have for every Erlang & Elixir dev / architect. Yes, I've put here "Elixir" on purpose - whether you like it or not, the sooner you start learning about tech internals of OTP/BEAM, the better. Fortunately, this book is really good with helping with that:
* very decent descriptions of gen_fsm & gen_event (best I've seen in Erlang-related books)
* very good introduction into how applications & modules are built internally
* nice build system introduction

Last few chapters are completely different as they abandon OTP/Erlang internals & focus on higher-level ("architectural") aspects of scalability, availability & resilience (sometimes in quite a generic, platform-agnostic way). It doesn't mean they are bad, but definitely they are far less unique - you can find at least few books that cover this on a comparable level.

Anyway, if you're really building back-end systems using Erlang, you'll do yourself a favor by getting & reading this book.
Profile Image for Bharat.
140 reviews
April 10, 2016
A good reference book that teaches best practices and fundamentals required for implementing reliable, fault-tolerant systems in Erlang. The book comes with very easy to grasp prose throughout and the examples are clear and concise. Highly recommended and valuable book that I'm sure that I will be revisiting again to revise.
Profile Image for Adrian.
156 reviews29 followers
December 18, 2021
This book is the natural go-to after you are already pretty accustomed with Erlang basics. I have found it really comprehensive and particularily enjoyed chapters treating more advanced topics like releases , logging , debugging , VM mechanics.
This entire review has been hidden because of spoilers.
Profile Image for Jari Aarniala.
13 reviews
January 7, 2018
If you're looking for a quick introduction to OTP in Erlang, this is not it.

Instead, this book takes the approach of implementing solutions to problems without OTP behaviors, and then adding them in. The reasoning behind OTP becomes clear this way.

I think many of the ideas here have affected my way of thinking about systems, although I'm unsure if I'll ever use Erlang in my projects - on the other hand, Elixir and therefore OTP _is_ on my radar.

Sidenote: the chapter has a chapter on the now-deprecated gen_fsm but that doesn't take away its value.
7 reviews
March 4, 2023
This book represents is thoroughly good on explaining important software architecture concepts and some od there origins.

Also highlights why Erlang is one of the best technologies and why its important to understand how its creatora tackled complex software problems.

Enjoyed it cover to cover.
Profile Image for Kenny Parnell.
200 reviews8 followers
May 28, 2017
Excellent resource for anyone writing code for the BEAM or distributed systems in general. Highly recommended​.
Displaying 1 - 6 of 6 reviews

Can't find what you're looking for?

Get help and learn more about the design.