Designing Elixir Systems with OTP

Write Highly Scalable, Self-Healing Software with Layers

by: James Edward Gray, II and Bruce A. Tate

Published 2019-12-10
Internal code jgotp
Print status In Print
Pages 246
User level Intermediate
Keywords Elixir, OTP, libraries, layers, API, concurrency, designing, programming, data structures, functional programming, testing, web application development
Related titles
  • Programming Elixir 1.x
  • Programming Phoenix
  • Metaprogramming Elixir
ISBN 9781680506617
Other ISBN Channel epub: 9781680507379
Channel PDF: 9781680507386
Kindle: 9781680507355
Safari: 9781680507362
Kindle: 9781680507355
BISACs COM051010 COMPUTERS / Programming Languages / General
COM051240 COMPUTERS / Software Development & Engineering / Systems Analysis & Design
COM051240 COMPUTERS / Software Development & Engineering / Systems Analysis & Design

Highlight

You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that’s kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what’s happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus.

Description

Elixir is gaining mindshare as the programming language you can use to keep your software running forever, even in the face of unexpected errors and an ever growing need to use more processors. This power comes from an effective programming language, an excellent foundation for concurrency and its inheritance of a battle-tested framework called the OTP.

If you’re using frameworks like Phoenix or Nerves, you’re already experiencing the features that make Elixir an excellent language for today’s demands. This book shows you how to go beyond simple programming to designing, and that means building the right layers. Embrace those data structures that work best in functional programs and use them to build functions that perform and compose well, layer by layer, across processes. Test your code at the right place using the right techniques. Layer your code into pieces that are easy to understand and heal themselves when errors strike.

Of all Elixir’s boons, the most important one is that it guides us to design our programs in a way to most benefit from the architecture that they run on. The experts do it and now you can learn to design programs that do the same.

Contents and Extracts