Engineering Elixir Applications (Pragmatic Bookshelf)

PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each software delivery step.

Ellie Fairholm @elliefairholm and Josep Giralt D’Lacoste @Gilacost

edited by Nicole Taché @ntache

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.

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.


Ellie Fairholm is a full stack developer on the path to becoming a solutions architect. She excels at communication and believes that no topic is too difficult to learn. She is deeply passionate about making technology available to all, especially to those often underrepresented in the industry. She currently lives in the UK and is committed to working on projects that will one day change the world.

Pep G. D’Lacoste is the founder of BeamOps Software Consultancy, a company that takes a hands-on approach to simplifying BEAM projects and ensuring lasting sustainability by involving the whole team. He has been working with Elixir for 10 years and helped set up the Elixir Meetup in his home town of Barcelona. He now lives in the UK and is on a mission to empower developers and revolutionize the way technical teams operate.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:

Latest Threads About This Book Top

pgmcdonnell
Thanks for the excellent book @elliefairholm and @Gilacost , really well paced and clearly written. One small suggestion: I think it wou...
New
RisPNG
On the last paragraph of page 266, the following text is present: “”" In this section, you’ll automate this process and create two diff...
New
Margaret
Ask Me Anything with Ellie Fairholm and Josep Giralt D’Lacoste @elliefairholm and @Gilacost On February 24 and 25, we are giving you ...
New
adkelley
In reviewing the code for this chapter (autoscaling_and_optimizing_your_deployment_strategy - modules/cloud/aws/compute/swarm/main.tf), ...
New
justincalleja
Installing the mentioned version of erlang gave me issues (I also tried with some other versions in 26.2…) ❯ asdf install erlang 26.2.1 ...
New
justincalleja
When doing the asdf installation, there is no cding into scripts. Text mentions to run ./scripts/asdf_plugins.sh. A bit later, text makes...
New
adkelley
Ellie Fairholm @elliefairholm and Josep Giralt D’Lacoste @Gilacost Due to the two snapshots we created in Chapter 6, I’m forecasted to ex...
New
RobertCGouge
Ellie Fairholm @elliefairholm and Josep Giralt D’Lacoste @Gilacost, Engineering Elixir Applications - Deploying app to Docker Swarm fail...
New
bjnord
@elliefairholm and @Gilacost On PDF p. 29 “Configuring the GitHub CLI” you have the reader run gh auth login. My development box is in t...
New
rodgco
I’m following the activities, and just amended my GitHub workflow triggers and noticed that my docker images were published before the PR...
New

Most Active This Week Top

Most Active This Month Top

Margaret
Ask Me Anything with Ellie Fairholm and Josep Giralt D’Lacoste @elliefairholm and @Gilacost On February 24 and 25, we are giving you ...
New
pgmcdonnell
Thanks for the excellent book @elliefairholm and @Gilacost , really well paced and clearly written. One small suggestion: I think it wou...
New
RisPNG
On the last paragraph of page 266, the following text is present: “”" In this section, you’ll automate this process and create two diff...
New

Most Active This Year Top

PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
PragmaticBookshelf
Democratizing Deployment with Ellie and Pep @elliefairholm and @Gilacost Ellie Fairholm and Josep (Pep) Giralt D’Lacoste are o...
New
New
SoldierCoder
@elliefairholm and @Gilacost All of Chapter 2 works fine until this last bit. variable “issues” { type = list(object({ title = st...
New
oddraisin
Ellie Fairholm @elliefairholm and Josep Giralt D’Lacoste @Gilacost Currently: Each person must make sure they always have the latest sta...
New
bjnord
Ellie Fairholm @elliefairholm and Josep Giralt D’Lacoste @Gilacost, Running dialyzer on both localhost and GitHub CI gives the following ...
New
thillerson
@elliefairholm and @Gilacost Title: Engineering Elixir Applications: Docker swarm services don’t come up (page 261) Hi, I’m really enjo...
New
adkelley
Ellie Fairholm @elliefairholm and Josep Giralt D’Lacoste @Gilacost Due to the two snapshots we created in Chapter 6, I’m forecasted to ex...
New
RobertCGouge
Ellie Fairholm @elliefairholm and Josep Giralt D’Lacoste @Gilacost, Engineering Elixir Applications - Deploying app to Docker Swarm fail...
New
rodgco
The instructions on where to place the “Set up QEMU” step doesn’t match the example. Copy the following step so that it sits between yo...
New
bjnord
Where the reader is supposed to comment out 2 lines of an existing test, and add assert false to make it fail: The filename is incorrect ...
New
adkelley
In reviewing the code for this chapter (autoscaling_and_optimizing_your_deployment_strategy - modules/cloud/aws/compute/swarm/main.tf), ...
New
rodgco
I’m following the activities, and just amended my GitHub workflow triggers and noticed that my docker images were published before the PR...
New
justincalleja
Installing the mentioned version of erlang gave me issues (I also tried with some other versions in 26.2…) ❯ asdf install erlang 26.2.1 ...
New
bjnord
@elliefairholm and @Gilacost On PDF p. 29 “Configuring the GitHub CLI” you have the reader run gh auth login. My development box is in t...
New

Most Active Last Three Years Top

justincalleja
When doing the asdf installation, there is no cding into scripts. Text mentions to run ./scripts/asdf_plugins.sh. A bit later, text makes...
New

Most Active Over Three Years Top

Book Info

Publisher: Pragmatic Bookshelf

Are you this book's author? To be notified of all posts made about it, sign up an account then click here, then select 'watching' from the bell icon in the top right corner.

Get money off!

The Pragmatic Bookshelf

35% off any eBook

Simply use coupon code "devtalk.com" at checkout. See full details here.