Design and build complex, scalable commercial-grade systems with the Open Telecom Platform (OTP), the open source system developed by Ericsson and written in Erlang. With this hands-on book, you’ll learn how to apply OTP libraries and techniques to develop concurrent, fault-tolerant systems with no single point of failure.
Written by the authors of O'Reilly's Erlang Programming, including a member of OTP’s R1 release team, this guide takes you through the basics of OTP and Erlang Design Patterns, and demonstrates how the platform can be used in a wide range of industries. If you have Erlang experience, you’ll learn how to overcome key obstacles in OTP that have thwarted many other developers.
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.
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.
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.
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.