~/talk

"Taming your Rails monolith"

Talkat RubyC 2019 · 2019-09-14..09-15· [ruby-on-rails, software-architecture]
links:none on file
slides:none on file

Rails scales if you stop following the default Rails way and incrementally modularize: add service, value, query and form objects to make classes skinny and testable, build components as extract as gems or Rails engines inside the monolith, then optionally move them to services; migrate DB table names to include component namespaces to ease extraction and use an anti‑corruption layer/data‑mapper for boundaries. Practical steps: get solid test coverage, refactor high‑churn areas first, and mirror domain structure in folders — examples include GitHub and Mastodon at >300k LOC.

AI-written summary · about

  1. 0:00Introduction
  2. 0:32Overview
  3. 0:59About me
  4. 1:31What Im presenting
  5. 1:47What is a monolith
  6. 2:11What is a massive code base
  7. 2:30When is a monolith a good thing
  8. 4:18The downsides of a monolith
  9. 6:10Congratulations
  10. 6:42Majestic
  11. 7:06Components
  12. 7:58Extract Microservices
  13. 8:30What can we do today
  14. 8:59Introducing components
  15. 9:29Practical steps
  16. 9:41Refactoring
  17. 11:45Skinny Everything
  18. 12:58View
  19. 14:00Simplify
  20. 14:33Services
  21. 15:00Value Objects
  22. 15:30Query Objects
  23. 15:53Form Objects
  24. 16:13Adapters
  25. 16:51Controllers
  26. 17:18Organization
  27. 17:47Stronger Pattern
  28. 18:06Stop adding new components
  29. 18:44Separating backend from frontend
  30. 19:30Identifying components
  31. 20:05Structure for the future
  32. 20:35Identifying seams
  33. 21:29Feedback
  34. 22:03Extracting
  35. 22:18Logical progression
  36. 23:02Next steps
  37. 23:54Summary
  38. 24:17Resources
  39. 24:36Componentbased Rails Application
  40. 25:05Examples
  41. 25:49YouTube
  42. 26:20Thank you
  43. 26:37Questions
  44. 27:49Micro Services
  45. 28:46Interactors
  46. 30:01Domain logic
  47. 30:21Policies
  48. 30:51Naming Scheme
  49. 31:17Classes
  50. 31:53Other approaches
  51. 33:10Domain events
~/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.