axelson

axelson

Scenic Core Team

ElixirConf 2019: Elixir + CQRS - Architecting for Availability, Operability, and Maintainability At PagerDuty - Jon Grieman

by @jon

At PagerDuty, we run our systems across many geographic regions to ensure we’re always available, even when you might not be. Elixir has been our language of choice for the last several years, and we’ve found a number of patterns for architecting services that mesh very nicely with Elixir, OTP and the BEAM - extending Elixir based applications and clusters beyond just distribution within a data center.

This talk looks at the service that powers PagerDuty’s timeline entries, a critical component for understanding what happens during an incident. I will cover how the service is architected for Command Query Responsibility Segregation and the benefits of those choices. These benefits and patterns are well tested, since this is one of the more frequently used services at PagerDuty, and has been running in production for three years.

Attendees will learn about how these considerations for application architecture can help them design for a service that will continue to evolve safely. Rather than focusing on low-level mechanics like generating a new Phoenix app, code layout, and structuring folders, or configuring a library, this talk looks at how big-picture considerations fit together and provides practical considerations around how applications change over time.

View all threads tagged with cqrs
View all elixirconf2019 talks

Most Liked

jon

jon

a general sense of how widespread Elixir is in the company present day.

Elixir’s our primary language, and has been for some time now.
There’s still some older services predating our choice of Elixir, but less and less of them as time goes on and things are replaced.

Outside of special cases like our mobile client apps, I don’t believe there’s any team in engineering that doesn’t work with Elixir on a frequent, if not exclusive, basis.

jon

jon

I’m around here if anyone has questions about the talk!

If you’re intrigued by what you heard, and want to come work with Elixir - Pagerduty is Hiring! - feel free to DM me if you’re interested or have questions.

mhs

mhs

@jon loved your talk. Are you able to expound briefly on the size of the investment in Elixir at Pagerduty?

Eg: rough number of developers primarily writing Elixir or even just a general sense of how widespread Elixir is in the company present day.

Where Next?

Popular in Talks Top

brightball
Since the comments are turned off on the YouTube videos, I’m going to post on talk per day on here for viewing and discussion…starting wi...
New
axelson
ElixirConf 2017 - Elixir by the Bellyful - @bryanhunter Elixir makes me happy! Since 2007 I have been on the...
New
axelson
ElixirConf 2017 - Keep an Eye on the Sky with Nerves and Phoenix - @electricshaman As part of the next gener...
New
axelson
ElixirConf US 2018 Opening Keynote - The Next Five Years – José Valim (@josevalim) All talks thread:
New
axelson
ElixirConf US 2018 – Beyond Command and Response Chatbot – Fahad Almusharraf The talk discusses an attempt ...
New
zporter
ElixirConf US 2018 – Breaking Down the User Monolith – Zach Porter Coming from Ruby on Rails, the convention is to have a...
New
AstonJ
File uploads are an essential part of many web applications, but often handling them can be tricky, which explains why they are one of th...
New

Other popular topics Top

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
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31494 112
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40042 209
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New

We're in Beta

About us Mission Statement