Migrating an Invoicing System to Elixir/Erlang
summary
A team rewrote an eight-year-old Java invoicing backend used for Mexican electronic invoices in Erlang and Elixir, with auxiliary microservices in Python, C++ and Java for XML validation and PDF generation. The talk covers the migration process including training Java/Ruby developers in Elixir/Erlang, operational metrics (for example reducing servers from 15 to 4), the problems encountered, and strategies for introducing Elixir/Erlang into a company heavily invested in Java.
AI-written summary · about
chapters (24)
- 0:00Platinum
- 0:13Lanyard
- 2:43Largest Elixir Meetups Largest Elixir Meetups
- 3:59Background
- 5:09Statistics
- 6:47Requirements
- 8:18Growth in the last years
- 10:23Legacy System
- 12:22Physical Servers
- 12:44Java Servers
- 13:19Concurrent Users
- 14:07Status
- 20:22Strategy
- 23:02Fixing the Old System
- 26:27Replacing the Client with Go
- 27:54Training the Team
- 28:44Small Projects in Elixir
- 31:47The Big Rewrite
- 36:40Elixir System
- 37:34FINAL TIMELINE
- 41:30Max transactions/sec
- 42:10Performance - CPU
- 42:22Performance - Memory
- 42:35Final Words
related talks
47mShipping a Replacement Architecture in Elixir
49mElixir in an Enterprise Telecommunications Product
42mErlang Micro-Services with all the Buzzwords
47mModernising in Healthcare: a case study in decision making
45mHow we rebuild a legacy monolithic platform at CERN and still sleep at night
38mMaintaining highly distributed services with Erlang: 20y experiences in fintech
52mFrom Monolith to Microservices at the Tax Authority
44mRoute to microservices the epic voyage of a fintech leader
