Rewriting critical software in Elixir - a case study
summary
Telnyx replaces a Python “dial plan” service with an Elixir rewrite that handles a few thousand requests per box and must respond under 100 ms, coordinating ~14 downstream HTTP services. Deployment uses a shadow deploy proxy that duplicates requests, logs paired XML outputs to Graylog, and diffs discrepancies into executable regression scenarios; after cutover the new system reports near-zero production incidents, lower latency and easier observability.
AI-written summary · about
chapters (44)
- 0:00Introduction
- 0:33Tonics
- 0:49Telex
- 2:40Onyx
- 2:54Elixir Meetup
- 3:19Disclaimer
- 4:06Context Motivation
- 8:00Stateless
- 9:41throughput
- 10:32Python Dial Plan
- 12:34Rewriting
- 13:19Highlevel overview
- 15:29Benefits in business terms
- 16:42Committing resources
- 17:37Deploying
- 18:30Duplicate requests
- 19:06Greylock
- 20:00Diff tool
- 20:21Noncritical failures
- 21:40Testing
- 21:55Trick
- 22:50Redundancy
- 24:24Disparity
- 24:53TDD cycle
- 25:09Feedback
- 25:49Failure test
- 26:02Incidents
- 26:44Observer
- 28:15Regression
- 28:47Paralyzation
- 29:21Nonglorious parts
- 29:33Managing expectations
- 30:37Sampling verification discrepancies
- 31:16Dedicated resources
- 31:56The most important thing
- 33:30This is a risk
- 34:33Fixing gnarly code
- 35:48Was it worth it
- 36:21Go to production
- 37:10Test in production
- 38:02Refactor vs rewrite
- 39:08Final reflection
- 39:49Merit of Elixir
- 41:05Thank you
related talks
47mElixir for curing product development pains
47mElixir for curing product development pains?
01h 01mArchitecture Decisions: A Case Study -
49mKeynote: How to sell Elixir (Again)
31mMigrating a Warehouse Application from C# to Elixir
47mThe Tension Between Expediency and Correctness
01h 02mFishbowl @ Functional Conf
39mUsing Nicer Programming Languages at Work
