Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Put a Button on It: Removing Barriers to Going Fast

Weitere Verwandte Inhalte

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Put a Button on It: Removing Barriers to Going Fast

  1. 1. Put a Button on it Removing Barriers to Going Fast kastner@gmail.com / @kastner jgoulah@gmail.com / @johngoulah
  2. 2. 1+ Billion Pageviews Per Month
  3. 3. Speed
  4. 4. ~80 Engineers
  5. 5. Barriers
  6. 6. Deployinator
  7. 7. We’re Hiring http://etsy.com/jobs
  8. 8. Optimization
  9. 9. Happiness
  10. 10. Sad Engineers are Bad Engineers
  11. 11. Barriers
  12. 12. Process
  13. 13. “Process is an embedded reaction to prior stupidity” – Clay Shirky
  14. 14. Fear
  15. 15. Correctness
  16. 16. "My strategy has always been: be wrong as Text fast as we can, Which basically means, we're gonna screw up, … Let's not be afraid of that." – Andrew Stanton
  17. 17. Legacy
  18. 18. How?
  19. 19. Communication
  20. 20. Trust
  21. 21. Openness
  22. 22. Constant Improvement
  23. 23. Then vs. Now
  24. 24. 2009
  25. 25. 2009 2011
  26. 26. 2009 Single Deploy Master
  27. 27. 2009 2011 Single Deploy Anyone Can Master Deploy
  28. 28. 2009 Rollback in Fear
  29. 29. 2009 2011 Rollback in Roll Forward Fear to Victory
  30. 30. 2009 All Day Deploys
  31. 31. 2009 2011 All Day Deploy All Deploys Day
  32. 32. How… for reals
  33. 33. So, what does Etsy optimize for?
  34. 34. MTTR vs. MTBF
  35. 35. Default to Open
  36. 36. Culture First
  37. 37. If it’s your first day at Etsy, you must deploy!
  38. 38. Doing the dumbest thing that can possibly work
  39. 39. Committing to Trunk
  40. 40. Branching in Code
  41. 41. if ($cfg["new_search"]) { // new hotness $resp = search_solr(); } else { // old busted $resp = search_grep(); }
  42. 42. Configuration is Code
  43. 43. $cfg["new_search"] = true;
  44. 44. Blameless Post-mortems
  45. 45. Databases are Different
  46. 46. Does it Work?
  47. 47. 6 Change-related incidents in 2010
  48. 48. November code-freeze
  49. 49. November code-freeze 721 Deploys
  50. 50. Deployinator
  51. 51. Capistrano
  52. 52. Capistrano Puppet
  53. 53. Capistrano Puppet Fabric
  54. 54. Capistrano Puppet Fabric Chef
  55. 55. “Framework”
  56. 56. STACK=search rake new_stack
  57. 57. run_cmd %Q{cap deploy}
  58. 58. log_and_stream "Starting Web deploy<br>"
  59. 59. log_and_shout({ :old_build => old_build, :build => build, :send_email => true })
  60. 60. Communication
  61. 61. Dashboard Driven Development
  62. 62. 5:27 < devbot> PRODUCTION deployed by vthommeret version: 7f08b7a-20110722-191739-UTC took: 131.042598 seconds diff: http://deployinator.etsycorp.com/diff/web/0cbf2f0/7f08b7a
  63. 63. e ntial Co nf id Etsy
  64. 64. Deployinator Deploy Host Web 1 Web 2 Web N
  65. 65. Deployinator ssh Deploy Host Web 1 Web 2 Web N
  66. 66. Deployinator ssh Deploy Host dsh Web 1 Web 2 Web N
  67. 67. Deployinator ssh Deploy Host dsh Web 1 Web 2 Web N
  68. 68. Deployinator ssh Deploy Host dsh Rsync Web 1 Web 2 Web N
  69. 69. What’s Stopping You?
  70. 70. Know what you’re optimizing for
  71. 71. Deployinator is Open Source Software!
  72. 72. Deployinator is Open Source Software! http://github.com/etsy/deployinator
  73. 73. Deployinator is Open Source Software! http://github.com/etsy/deployinator (right after this talk)
  74. 74. Thank you
  75. 75. Thank you http://github.com/etsy/deployinator

×