~/talk

Zero Downtime Deploys Made Easy

Talkat RubyConf 2012 · 2012-11-01..11-03· [ruby, devops-and-delivery]
links:none on file
slides:none on file

Yammer deploys Rails to hundreds of servers many times a week and avoids downtime by changing schemas in phases: allow null then backfill with a background task that updates rows in small locks, then add the NOT NULL constraint; use Postgres concurrent index or tools to avoid table locks; handle ActiveRecord schema caching by overriding columns when removing fields; assume queues are never empty and support both old and new job formats; version services and roll out to 5%/10%/20%/50%, flip features off, and keep DB migrations separate from fast push‑button app deploys.

AI-written summary · about

  1. 0:00Zero downtime deploys intro
  2. 1:50Database migrations cause downtime
  3. 6:21Safe migration techniques
  4. 9:11Schema sync errors
  5. 13:28Background worker changes
  6. 14:52External service versioning
  7. 17:37Deploy services without downtime
  8. 20:49Simplify deployment
  9. 23:19Q&A
~/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.