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

axelson
Today’s talk is another one from Toyota Connected ElixirConf 2017 - Elixir with Kafka - Mathew Gardner Elix...
New
axelson
by @SophieDeBenedetto LiveView’s reliance on server-rendered HTML and leveraging of bi-directional communication over WebSockets means ...
New
axelson
ElixirConf 2018 – Day 2 Opening Keynote – Justin Schneck (@mobileoverlord) All talks thread:
New
ElixirConf
ElixirConf: ElixirConf 2023 - Tim Gremore - Replacing React: How Liveview solved our performance problems Comments welcome! View the <sp...
New
axelson
We’re now on the day 2 talks! ElixirConf US 2018 – Understanding Elixir’s (Re)compilation – Renan Ranelli Elixir’s code...
New
Lawrence_elixir
@keathley - Senior Engineer Bleacher Report and Elixir Outlaws presenter Talk: Building Resilient Systems with Stacking Talk in three w...
New
CodeSync
Code Sync: Fast IP Address Matching in Elixir (…) &amp; Persistent Term | Michael Lubas | Code BEAM America 2022 Comments welcome! View ...
New
axelson
ElixirConf 2017 - ElixirBridge How Do We Shape Community - Anna Neyzberg We talk about Elixir as powerful la...
New
axelson
ElixirConf 2017 - Phoenix after 100000 lines - Renan Ranelli Given phoenix’s rise in popularity, the interne...
New
axelson
by @jola Can you write a performant string processing scripts in Elixir? This talk attempts to answer that question while incrementally...
New

Other popular topics Top

dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
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
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
sergio
I couldn’t find any guides that worked well with Phoenix 1.6.0 and esbuild. I hope this helps people test the waters and eases you into t...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New

We're in Beta

About us Mission Statement