~/talk

Shipping a Replacement Architecture in Elixir

Talkat EMPEX LA 2018 · on Saturday, 2018-02-10· [microservices]
slides:none on file

A company replaces a Rails monolith with Elixir and Phoenix in about eight months with a three‑person core team, migrates from DynamoDB to Postgres (largest table ~9M rows, ~20M total) using Flow to parallelize the import into an hour, runs an event architecture on GenStage event bus, cuts EC2 instances from ~40 to 5, drops DB cost ~91%, drops p95 latency to ~30ms, ships ~2,000 tests (~70% coverage) and runs stably in production.

AI-written summary · about

  1. 0:00Introduction
  2. 2:06We did a rewrite
  3. 2:20Software grows over time
  4. 2:50Key issues
  5. 4:11DynamoDB
  6. 5:26Rewrites
  7. 6:06Why Elixir
  8. 7:10The old system
  9. 10:23The system after shipping
  10. 11:46Results
  11. 15:43Tour
  12. 15:58Intermediary API
  13. 17:26How it works
  14. 18:07Encoding
  15. 18:49serialize
  16. 19:17umbrella wraps
  17. 19:33mono repo
  18. 20:02phoenix apps
  19. 21:26docker base workloads
  20. 22:39core business logic
  21. 23:47tests
  22. 24:06event system
  23. 24:22event bus
  24. 26:04consumer
  25. 27:14consumers
  26. 28:20moving records
  27. 28:32Flow
  28. 29:53Schemas
  29. 30:25Flow Code
  30. 32:05Dynamo to Postgres
  31. 32:21Parallel Processing
  32. 33:50Challenges
  33. 34:06Challenges Recap
  34. 37:10Takeaways
  35. 38:12Dont move databases at the same time
  36. 39:05Write code thats easy to delete
  37. 40:16Losing one customers data
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.