Adopting Elixir
From Concept to Production
by Ben Marx, Jos Valim, Bruce Tate
Version: P1.0 (March 2018 )
Copyright 2018 The Pragmatic Programmers, LLC. This book is licensed to the individual who purchased it. We don't copy-protect it because that would limit your ability to use it for your own purposes. Please don't break this trustyou can use this across all of your devices but please do not share this copy with other members of your team, with friends, or via file sharing services. Thanks.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.
Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein.
About the Pragmatic Bookshelf
The Pragmatic Bookshelf is an agile publishing company. Were here because we want to improve the lives of developers. We do this by creating timely, practical titles, written by programmers for programmers.
Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://pragprog.com.
Our ebooks do not contain any Digital Restrictions Management, and have always been DRM-free. We pioneered the beta book concept, where you can purchase and read a book while its still being written, and provide feedback to the author to help make a better book for everyone. Free resources for all purchasers include source code downloads (if applicable), errata and discussion forums, all available on the book's home page at pragprog.com. Were here to make your life easier.
New Book Announcements
Want to keep up on our latest titles and announcements, and occasional special offers? Just create an account on pragprog.com (an email address and a password is all it takes) and select the checkbox to receive newsletters. You can also follow us on twitter as @pragprog.
About Ebook Formats
If you buy directly from pragprog.com, you get ebooks in all available formats for one price. You can synch your ebooks amongst all your devices (including iPhone/iPad, Android, laptops, etc.) via Dropbox. You get free updates for the life of the edition. And, of course, you can always come back and re-download your books when needed. Ebooks bought from the Amazon Kindle store are subject to Amazon's polices. Limitations in Amazon's file format may cause ebooks to display differently on different devices. For more information, please see our FAQ at pragprog.com/frequently-asked-questions/ebooks. To learn more about this book and access the free resources, go to https://pragprog.com/book/tvmelixir, the book's homepage.
Thanks for your continued support,
Andy Hunt
The Pragmatic Programmers
The team that produced this book includes: Andy Hunt (Publisher) Janet Furlow (VP of Operations) Brian MacDonald (Managing Editor) Jacquelyn Carter (Supervising Editor) Jasmine Kwityn (Copy Editor) Potomac Indexing, LLC (Indexing) Gilson Graphics (Layout)
For customer support, please contact .
For international rights, please contact .
Table of Contents
Copyright 2018, The Pragmatic Bookshelf.
Early Praise for Adopting Elixir
Adopting Elixir is brilliant: a practical, no-frills guide for all teams who want to use Elixir and get it right the first time. All ideas completely overlap with my consulting experience and Ill be sure to recommend it to all customers I work with.
Claudio Ortolina |
Consultant and Head of Elixir, Erlang Solutions Ltd. |
Adopting Elixir is the comprehensive guide I only wish we, one of the earliest adopters of Elixir, had available years ago. Whether you are still considering Elixir or actively coding and scaling your team, this book distills the lessons we learned into a detailed and thorough adoption plan.
David Marks |
Senior Director of Engineering, Bleacher Report |
Required reading for anyone considering or planning to use Elixir in production. It picks up where other books left off, with great higher-level discussions of development, deployment, and production.
Saa Juric |
Author of Elixir in Action and Developer at Aircloak, Aircloak |
If youre looking to bring Elixir into your organization, you will find no better source of information than the team who wrote this book. Theyve walked the walk of using Elixir in production from the earliest days of the language. They introduce a wide range of topicsfrom staffing to tricky technical bits like distributed Erlang. Then they give you the knowledge you need, at just the right level of detail, to make great decisions for your team.
Lance Halvorsen |
Senior Software Architect, Le Tote |
Acknowledgments
More than any other Elixir book thats ever been written, this book is a community book. The early adopters we profile shared their experiences directly in time-consuming interviews; inventors and committers for hundreds of projects made the very libraries we describe in these pages; beta testers tried new releases; and beta readers helped refine each word you find here. We owe our deepest gratitude to each of you and this book is dedicated to you. We cant possibly enumerate all of those that made this book possible, but we have to try.
We would like to thank the prags for believing in this concept. Our dear friend Jackie helped shape the words, Andy has been a constant source of support, Susannah made the start smooth, and Janet has guided the process from end to end. Many others shaped this book, from indexers to artists and copy editors. Thanks to each of you.
Thanks to all of our technical reviewers: Alexandre Hamez, Claudio Ortolina, Dave Marks, Kim Shrier, Maurice Kelly, Nigel Lowry, Saa Juric ,Sean Callahan, Shaun Collette, and Xavier Noria. Whether the suggestions were technical or stylistic, or a sounding board to bounce ideas off of, the book is that much richer and we are grateful for the reviews.
Thanks to Daniel Perez, Dave Marks, Hidetaka Kojo, Lauren Tan, Myron Marston, Pejvan Beigui, Shaun Collett, Steve Cohen, Tetiana Dushenkivska, Tsunenori Oharam, and Yusuke Tanaka for perspective and insight in their interviews. One of the goals of the book was to not only tell our Elixir adoption stories but to hear from varied members of the Elixir community. Each persons interview helped illuminate a different area of Elixir adoption.
From Ben:
Im eternally grateful to Dave Marks for not only hiring me at Bleacher Report but encouraging and supporting meand our entire teamas we undertook the monumental task of moving from our legacy sytem to the new Elixir-based platform. Hes been an insightful mentor and has become a dear friend over these last years.
Many thanks to everyone at Bleacher Report; this was a team effort and we revamped everything from back end to front end to design and we have great plans for a bright future. Thanks especially to Miguel DeAvila for all that youve done to support me over the last year and also to Dave Finocchio for permission to write about Bleacher Report and leading a company Im proud to be a part of.