~/talk

Changing the wheels on the bus at 80 mph: Upgrading to Rails 3

Talkat RailsConf 2013 · 2013-04-29..05-02· [ruby-on-rails, devops-and-delivery]
slides:none on file

New Relic upgrades Rails by running Rails 2 and Rails 3 from one master branch while 55 engineers keep committing; two maintainers patched Bundler to support two lockfiles, build a backwards-compatible boot sequence, and shim ActiveScaffold and other gems. The team sees roughly 1400 commits deploy without disruption, runs CI jobs for both runtimes, fixes session/JS/instrumentation quirks, and rolls a canary before flipping production. The approach works with measurable but small postdeploy firefighting.

AI-written summary · about

  1. 0:00Start
  2. 1:06Overview
  3. 3:58Upgrading to Rails 3 1. Procrastinate
  4. 10:05Upgrading to Rails 3 Procrastinate
  5. 13:59Make it easy for everyone
  6. 14:33Unbreak Rails 2
  7. 15:12Onto master
  8. 16:50config/application.rb
  9. 17:56Have tests you trust
  10. 18:15Use C
  11. 19:03Upgrade dependencies on master
  12. 19:35Backgroundjob to Resque
  13. 20:16Add an abstraction layer
  14. 20:29Use Resque or Backgroundjob
  15. 20:54Branch by abstraction
  16. 22:57Your error handling (can) still work
  17. 24:10Extensive manual testing
  18. 24:42Make everyone a tester
  19. 25:05Tum on Rails 3 by default
  20. 25:57Incompatible sessions
  21. 26:57Deploy a canary
  22. 27:16Pause the world
  23. 27:45Deploy all the servers
  24. 27:59Oops
  25. 29:32Breaking the audit trail
  26. 30:32Rushed Resque rollout
  27. 30:55Punching ActiveScaffold in the face
  28. 32:14Tagging green build off of Rails 2 tests
  29. 32:59Lessons learned
  30. 33:45The special magic pony sauce
~/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.