PragmaticBookshelf

PragmaticBookshelf

Forum Sponsor

Engineering Elixir Applications (PragProg)

Ellie Fairholm and Josep Giralt D’Lacoste

edited by Nicole Tache

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:

Most Liked

code-shoily

code-shoily

:face_holding_back_tears: a much needed book

mariusbutuc

mariusbutuc

This might be fun for a book club too!

stevensonmt

stevensonmt

+1 from me

sodapopcan

sodapopcan

I got the beta and just started working through it. I’m not quite yet through the first part. So far, other than spelling and grammar mistakes, it’s super useful. I’m not coming in completely new—I do have some devops experience, particularly when it comes to manually provisioning AWS and otherwise I have used terraform and docker when other people have set it up—but I’m finding it super useful. Anything that is unclear I just look up. I can report when I’m finished the book but so far I think it’s perfectly usable as is if you’re eager to get to it!

code-shoily

code-shoily

Oh yes. I’m down!

Where Next?

Popular in Books Top

AstonJ
https://www.packtpub.com/sites/default/files/3964_Elixir%20Cookbook_Cover_1.jpg
New
AlchemistCamp
EARLY ACCESS (currently in writing, estimated length: 40 pages) Hi. I’m Mark and over the past two and a half years, I’ve been teaching ...
New
DevotionGeo
https://www.packtpub.com/web-development/phoenix-web-development
New
PragmaticBookshelf
Bruce Tate @redrapids edited by Jacquelyn Carter @jkcarter Elixir is a functional language that crosses many boundaries. With a syntax b...
New
arpan
:wave: Hey Elixir Enthusiasts! I’ve got something cool for you. It’s a free book on Elixir that dives into the nitty-gritty of concurren...
New
PragmaticBookshelf
This hands-on book will quickly get you building, querying, and comparing graph data models using a robust, concurrent programming langua...
New
New
AstonJ
by Joe Armstrong A multi-user game, web site, cloud application, or networked database can have thousands of users all interacting at th...
New
shankardevy
Dear Elixir Alchemists I’m happy to share that I’m working on my 2nd series of books (See my first one here) and this time it’s about As...
New
AstonJ
by Ben Marx, José Valim, Bruce Tate Bring Elixir into your company, with real-life strategies from the people who built Elixir and use i...
New

Other popular topics Top

yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New

We're in Beta

About us Mission Statement