Designing for Scalability with Erlang/OTP
Implement Robust, Fault-Tolerant Systems
Publisher: O'Reilly Media
Final Release Date: May 2016
Pages: 482

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
Table of Contents
Product Details
About the Author
Colophon
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyDesigning for Scalability with Erlang/OTP
 
5.0

(based on 6 reviews)

Ratings Distribution

  • 5 Stars

     

    (6)

  • 4 Stars

     

    (0)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

100%

of respondents would recommend this to a friend.

Pros

  • Accurate (4)
  • Well-written (4)
  • Concise (3)

Cons

No Cons

Best Uses

  • Expert (3)
    • Reviewer Profile:
    • Developer (4)

Reviewed by 6 customers

Displaying reviews 1-6

Back to top

(1 of 1 customers found this review helpful)

 
5.0

Great book on designing systems

By Joe

from Sunnyvale, CA

Verified Reviewer

Comments about oreilly Designing for Scalability with Erlang/OTP:

I highly recommend this book. My favorite part of the book is the last 4 chapters. Less heavy on code, these chapters describe stratgies and give examples of how to design scalable and fault tolerant distributed systems. And at the end of each chapter the authors sum up and accumulate a list of ten steps that you need to follow when building such systems. The advice here is invaluable.

 
5.0

Must read for making the next step with Erlang/Elixir

By neomizer

from Hamburg, Germany

About Me Developer

Verified Reviewer

Pros

  • Accurate
  • Concise
  • Easy to understand
  • Well-written

Cons

    Best Uses

    • Intermediate

    Comments about oreilly Designing for Scalability with Erlang/OTP:

    Disclaimer: I'm not an erlang developer, but rather working with elixir from an early stage on.

    Getting into erlang and the ecosystem is actually not that hard. There are good resources to get started and the language is quite limited (in a good way), so this part is not really hard. But the moment I tried to figure out how to design my system "the right way" to make it robust and resilient, it wasn't that easy to find something useful (other than 'just use OTP').

    For me, this book finally closed this gap. Sure, it has a nice and short introduction into erlang and the different OTP behaviors, the latter one actually more detailed than I read it in other books before.

    But the real benefit for me was the second half of the book, starting with "System Principles and Release Handling", where I finally understood why deployments are not as easy (or better: streamlined) as in other technologies.

    The chapters "Distributed Architectures", "Systems That Never Stop" and "Scaling Out" had actually lots of good advice even for a non-erlang systems, because they made clear which tradeoffs the developer needs to think about and how these decisions influence the overall system.

    As the name suggests it's not necessary the best introduction to the language. Not because it requires a lot of previous knowledge, but rather because it focusses on aspects like scalability and reliability, which are usually not your main concern to master when you're trying to learn a new language.

    But as soon as you're ready for these concerns, this is the book to read!

    (1 of 1 customers found this review helpful)

     
    5.0

    Missing Link for Developing in the Erlang Ecosystem

    By clem

    from Seattle, WA

    About Me Developer

    Verified Buyer

    Pros

    • Accurate
    • Concise
    • Helpful examples

    Cons

    • Difficult to understand

    Best Uses

    • Expert

    Comments about oreilly Designing for Scalability with Erlang/OTP:

    For developers looking to learn Erlang, Elixir or LFE, this would make a excellent second book on the subject. My own experience was that while syntax is easy enough to grasp, the real benefits of a BEAM language require a firm understanding of making the most of actors with OTP. That's where this book comes in.

    Bear in mind that there's not a lot of hand holding on Erlang. However, if you already have handle on Elixir, the Erlang examples shouldn't pose a problem.

    (2 of 2 customers found this review helpful)

     
    5.0

    Best book about distributed systems I ever read

    By Andrea

    from london

    About Me Developer

    Verified Reviewer

    Pros

    • Well-written

    Cons

    • Complex

    Best Uses

    • Expert

    Comments about oreilly Designing for Scalability with Erlang/OTP:

    Lots of practical and useful advice, I feel like this book fills many gaps that are today in the erlang and general distributed systems architecture.
    Mandatory read if you are implementing large scale distributed systems.

    (2 of 2 customers found this review helpful)

     
    5.0

    Chapter 1 - Outstanding

    By Ed

    from NY

    About Me Sys Admin

    Verified Reviewer

    Pros

    • Accurate
    • Easy to understand
    • Well-written

    Cons

      Best Uses

        Comments about oreilly Designing for Scalability with Erlang/OTP:

        Re-write of chapter1 is outstanding.

        Every system architecture should have all those components.

        It really resonated with me!

        Nice Job.

        (8 of 8 customers found this review helpful)

         
        5.0

        Great way to understand OTP

        By Richard Ben Aleya

        from Brussels, Belgium

        About Me Developer

        Verified Buyer

        Pros

        • Accurate
        • Concise
        • Helpful examples
        • Well-written

        Cons

        • Difficult to understand

        Best Uses

        • Expert

        Comments about oreilly Designing for Scalability with Erlang/OTP:

        This book is undoubtedly the successor of Erlang Programming from the same author.

        Generic servers (gen_server), finite state machines (gen_fsm), event handlers, supervisors, applications, release handling, release upgrades, ... no aspect of OTP is forgotten.

        Deep coverage and goes into technical details, I highly recommend you this book either you are an Erlang or Elixir developer.

        Displaying reviews 1-6

        Back to top

         
        Buy 2 Get 1 Free Free Shipping Guarantee
        Buying Options
        Immediate Access - Go Digital what's this?
        Ebook:  $42.99
        Formats:  ePub, Mobi, PDF
        Print & Ebook:  $54.99
        Print:  $49.99