PragmaticBookshelf

PragmaticBookshelf

Devtalk Sponsor

Democratizing Deployment
with Ellie and Pep
@elliefairholm and @Gilacost

Ellie Fairholm and Josep (Pep) Giralt D’Lacoste are on a mission to democratize the process of software deployment and encourage development teams to “fail fast.”

We spoke with Ellie and Pep about their new book for BEAM developers on how to combine development and operations with the goal of creating a frictionless team that delivers frequent small releases.

Engineering Elixir Applications: Navigate Each Stage of Software Delivery with Confidence by Ellie Fairholm and Josep Giralt D’Lacoste

INTERVIEW

Watch to the complete interview here:


WIN!

We’re giving away one of Ellie and Pep’s books to one lucky winner! Simply post a comment or a question in his ask me anything (AMA) below, and the Devtalk bot will randomly pick a winner at a time of the author’s choosing…then automatically update this thread with the results!


Interview Highlights

For those who prefer to read rather than watch or listen, following are highlights from the interview.

On shared responsibility…

The DevOps approach that Ellie and Pep advocate combines continuous integration, delivery, and deployment in a pattern of source, build, test, and deploy. It also has a tendency to democratize software development and build happy teams. There are many compelling reasons to move to a CI/CD pipeline. “If you’ve Dockerized everything, people can quickly spin up the app. You can deploy faster. Ship features faster even if new people come in.” says Ellie.

“If you submit a pull request to the main branch and it’s automatically deployed, you know—everyone knows—that it’s going to be deployed, so everyone is going to be more careful,” Pep muses. If teams can shift towards CI/CD, deployments become routine and manageable. “And then you have healthier teams and there’s more love in the environment because knowledge is shared, problems are shared, and we all take care of each other.”

“Sharing responsibilities, it creates a lot more empathy across teams. It makes teams work, I think, better and more efficiently.” Ellie postulates.

When the documentation is the code you can “let the code base be the source of truth of everything. If you have continuous delivery, you don’t need to ask anyone how the application is deployed,” explains Pep, “just go to the Github workflow…and see how it’s deployed.”

On environment integrity…

Differences in development and production environments often mean bugs in production that can’t be reproduced locally. “Hopefully, [those issues] will be a thing of the past.” says Ellie. “One of the big things that we talk about is environment integrity…using the same tools for development and production. So …you can replicate all production scenarios in development.”

For example, with Docker Swarm, you can use the Docker Compose file for both development and production. One of the downsides is that it’s easy to lock yourself into particular versions of libraries and everything else. Ellie and Pep use tools like Renovate that regularly check your dependencies and submit pull requests to update those dependencies.

On visualizing infrastructure…

Engineering Elixir Applications offers much more than just the practical steps to deliver BEAM applications using a DevOps approach. The authors developed an application for the book that visualizes infrastructure operations. They built a Phoenix LiveView application that “allows you to visualize the different nodes in which availability zones they are deployed. It allows you to see the CPU usage. And then it allows you also to stress the cluster and see the different auto-scaling activities.”

Visualization makes the process much less abstract and more tangible to developers who may not be experienced with deployment-related tasks and information. And while the book uses the BEAM ecosystem for examples, principles like CI/CD, shared responsibility, environment integrity, and Kaizen are universal. For example, no matter the framework, tools, or language, submitting something small frequently and then testing it offers benefits. “You aim small, you fail small.” Pep reminds us.

On writing together…

The couple met while working at the same company six years ago, where they realized they shared a passion for improving deployment practices. And now they are writing a book together about deploying software, which has the potential to be quite stressful.

But just as they automate away friction points to make teams a happier place to be, they automate away some of the pain points of writing together.

“We have our own CDI pipeline for the book, for each chapter, checking all the code in each chapter to make sure it works.” Ellie explains.

They wanted to reproduce the whole infrastructure that was being built in each of the chapters, but decided to do the minimum. “For example, if we have a Terraform module, let’s try to validate, check the format…and try to at least plan the Terraform but not apply it.” says Pep.

Ellie and Pep are able to communicate openly without ego to avoid conflict and make writing a book together a happy experience.

Dave Thomas asks if they guarantee that if you follow CI/CD practices you’ll find love. “Yes, that should be our marketing tagline,” Ellie says, laughing. “Everyone should be in love with each other.” Pep adds with a grin.


Now that you know their story, add Ellie and Pep’s book to your developer toolkit today! Don’t forget you can get 35 percent off with the coupon code devtalk.com!

Engineering Elixir Applications
book-engineering-elixir-applications


Follow the authors:

Ellie Fairholm

Josep Giralt D’Lacoste


YOUR TURN!

We’re now opening up the thread for your questions! Ask Ellie and Pep anything! Please keep it clean and don’t forget: by participating you automatically enter the competition to win one of Ellie and Pep’s ebooks!

Popular In The Spotlight topics Top

PragmaticBookshelf
A PragProg Hero’s Journey with Brian P. Hogan @bphogan Have you ever worried that your only legacy will be in the form of legacy...
New
PragmaticBookshelf
A Hero’s Journey with Chris Pine @chrispine Chris Pine, author of Learn to Program, Third Edition, discusses his journey to beco...
New
New
PragmaticBookshelf
Author Spotlight: Johanna Rothman @jrothman Writing is a craft and Johanna Rothman is an expert. Today we talked about the art of wri...
New
PragmaticBookshelf
Author Spotlight: Tammy Coron @Paradox927 Gaming, and writing games in particular, is about passion, vision, experience, and immersio...
New
PragmaticBookshelf
Author Spotlight: Peter Ullrich @PJUllrich Data is at the core of every business, but it is useless if nobody can access and analyze ...
New
PragmaticBookshelf
Author Spotlight: Bruce Tate @redrapids Programming languages always emerge out of need, and if that’s not always true, they’re defin...
New
New
New
Margaret
Ask Me Anything with Zach Daniel and Rebecca Le @zachdaniel and @sevenseacat On February 24 and 25, we are giving you a chance to ask...
New

Other popular topics Top

AstonJ
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
New
AstonJ
Or looking forward to? :nerd_face:
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
Rainer
My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and...
New
AstonJ
I have seen the keycaps I want - they are due for a group-buy this week but won’t be delivered until October next year!!! :rofl: The Ser...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
AstonJ
Do the test and post your score :nerd_face: :keyboard: If possible, please add info such as the keyboard you’re using, the layout (Qw...
New
AstonJ
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
PragmaticBookshelf
Author Spotlight: Karl Stolley @karlstolley Logic! Rhetoric! Prag! Wow, what a combination. In this spotlight, we sit down with Karl ...
New