Engineering Elixir Applications

Navigate Each Stage of Software Delivery with Confidence

by: Ellie Fairholm and Josep Giralt D'Lacoste

Published 2024-12-18
Internal code beamops
Print status In Print
Pages 458
User level Intermediate
Keywords beam, beamops, elixir, terraform, deployment, application development, AWS, Docker, DevOps
Related titles

1. Programming Phoenix LiveView Interactive Elixir Web Programming Without
Writing Any JavaScript
2. Designing Elixir Systems with OTP Write Highly Scalable, Self-Healing
Software with Layers
3. DevOps in Practice
4. Small, Sharp Software Tools Harness the Combinatoric Power of Command-Line
Tools and Utilities

ISBN 9798888650677
Other ISBN
BISACs COM048000
COM051010
COM051010

Highlight

The days of separate dev and ops teams are over—knowledge silos and the “throw it over the fence” culture they create are the enemy of progress. As an engineer or developer, you need to confidently own each stage of the software delivery process. This book introduces a new paradigm, BEAMOps, that helps you build, test, deploy, and debug BEAM applications. Create effective development and deployment strategies; leverage continuous improvement pipelines; and ensure environment integrity. Combine operational orchestrators such as Docker Swarm with the distribution, fault tolerance, and scalability of the BEAM, to create robust and reliable applications.

Description

BEAMOps starts by building a solid foundation for your project. On the infrastructure side, see how to use Terraform before you even start coding to automate your deployment and operations. On the project management side, we show you how to use issues and milestones to simplify tracking; you’ll use this foundation as you go through the book, implementing each of the steps required to deploy a scalable Elixir application.

Now that you have a foundation, you can start building. Create a Phoenix LiveView application and explore mix releases. Make your deployments reliable with Docker. Continuously improve your codebase by implementing an efficient continuous deployment/integration pipeline with GitHub Actions. Scale the Phoenix LiveView application and operate a distributed BEAM system in production using AWS EC2 nodes, AWS load balancers, and a remote Docker swarm. Recognize which application metrics should be collected and monitored, and set alerts when certain thresholds are met to ensure that your application auto-scales. Ship less code more often, and ensure it works!

The pragmatic BEAMOps approach that we teach in this book—an extension of the well-known DevOps paradigm—will help you become a multidisciplinary developer who is empowered to own each stage of the software delivery process. After reading this book, you’ll understand how to apply the BEAMOps principles in your daily work, creating reliable, scalable, and easy to understand applications in a cooperative team environment.

Contents and Extracts