Via a Push Queue


Topic of the #push channel

Push Queue

mittens> .join
pushbot> You’re up: mittens
  sasha> .join with mittens
pushbot> You’re up: mittens, sasha
  sasha> .good
mittens> .good
pushbot> mittens, sasha: Everyone is ready
 nassim> .join
pushbot> You’re now on staging
  sasha> .good
mittens> .good
pushbot> You’re now on prod
  sasha> .good
mittens> .good
mittens> .done
  sasha> Thanks for driving, mittens!
pushbot> You’re up, nassim

Web Deploys

  • Are pretty fast (~20 min)
  • Happen many times a day (up to 50)
  • Frequent, small changes
  • Everyone responsible for monitoring
  • Driver responsible for pushing buttons and herding
  • Easy to revert and back out

Deploy Culture

  • Transparent
  • Engineer-driven
  • Encourages collaboration
  • Reduces single points of failure

App Deploys

  • Are pretty slow (~6 hours)
  • Happen once every two weeks
  • Periodic, medium-large changes
  • Everyone responsible for monitoring?
  • Release manager responsible for pushing buttons and herding
  • Hard to revert and back out

Web Deploys

App Deploys

App Deploy Tasks & Responsibilities

mittens + sasha | nassim

release managers

Release Managers, Sasha & Jen

Release Managers, Sasha & Jen

More release managers?

  • no

Better app deploy process?

  • yes!

bit.ly/how-etsy-ships-apps