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
 
4.9

(based on 8 reviews)

Ratings Distribution

  • 5 Stars

     

    (7)

  • 4 Stars

     

    (1)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

100%

of respondents would recommend this to a friend.

Pros

  • Accurate (6)
  • Well-written (6)
  • Concise (5)
  • Easy to understand (4)
  • Helpful examples (3)

Cons

No Cons

Best Uses

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

Reviewed by 8 customers

Displaying reviews 1-8

Back to top

(1 of 2 customers found this review helpful)

 
5.0

The perfect completion of the library.

By Cerberus

from Kyiv, UA

About Me Developer

Verified Buyer

Pros

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

Cons

    Best Uses

      Comments about oreilly Designing for Scalability with Erlang/OTP:

      It will not hurt to brush up once again some aspects

      (2 of 2 customers found this review helpful)

       
      4.0

      A decent book on erlang scalability

      By renais

      from bangalore,India

      About Me Developer

      Verified Buyer

      Pros

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

      Cons

        Best Uses

        • Expert
        • Intermediate

        Comments about oreilly Designing for Scalability with Erlang/OTP:

        The book has met my expectations.i was interested in erlang fsm and event handlers and the book explains the concepts with examples in a concise way.
        Distributed architectures chapter was also very informative.

        (3 of 3 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.

        (3 of 3 customers found this review helpful)

         
        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!

          (2 of 2 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.

          (3 of 3 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.

          (4 of 5 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.

              (9 of 9 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-8

              Back to top

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