Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Chef workflow at
                            Daniel Schauenberg
                          dschauenberg@etsy.com
                                 @mrtazz




Tuesday, January 29, 13
Etsy Infrastructure
                    • ~1000 nodes
                    • ~30 dev/ops engineers making changes
                          regularly
                    • Open Source Chef server + GitHub
                          Enterprise
                    • Default environment setup (production,
                          development, testing)


Tuesday, January 29, 13
jonlives/knife-spork



Tuesday, January 29, 13
Tuesday, January 29, 13
% shef
  chef > recipe
  chef:recipe > echo off
  chef:recipe > include_recipe "apache"
  chef:recipe > run_chef


Tuesday, January 29, 13
% review -r jcowie --cc ops




Tuesday, January 29, 13
% knife spork check apache
                % knife spork bump apache
                % git commit
                % git push
                % knife spork upload apache

                          Staging Deploy
Tuesday, January 29, 13
jonlives/knife-flip


                          % knife node flip node.etsy.com testing
                          % knife role flip testRole testing




Tuesday, January 29, 13
% knife spork promote apache
  % git commit
  % git push
  % knife spork promote apache --remote


                          Production Deploy

Tuesday, January 29, 13
19:18:06 irccat | CHEF: Daniel Schauenberg
        promoted apache@0.0.2 to development
        https://github.etsycorp.com/gist/12345

        19:18:06 irccat | CHEF: Daniel Schauenberg
        promoted apache@0.0.2 to production
        https://github.etsycorp.com/gist/12346



Tuesday, January 29, 13
etsy/chef-handlers
   19:20:00 irccat | Chef run failed on test.etsy.com
   19:20:00 irccat | https://github.etsycorp.com/gist/
   12347

                          jgoulah/knife-lastrun
   % knife node lastrun test.etsy.com


Tuesday, January 29, 13
Tuesday, January 29, 13
Summary

                    • GitHub Enterprise, Dev VMs, shef as
                          development environment
                    • Chef Server and knife-spork as
                          Deployment System
                    • Monitoring, Notifications, Graphs

Tuesday, January 29, 13
• http://codeascraft.etsy.com/
                    • http://www.slideshare.net/jonlives/michelin-
                          starred-cooking-with-chef
                    • http://www.slideshare.net/mcdonnps/
                          lessons-from-etsy-avoiding-kitchen-
                          nightmares-chefconf-2012
                    • https://github.com/jonlives/knife-spork
                    • https://github.com/jonlives/knife-flip
                    • https://github.com/jgoulah/knife-lastrun
Tuesday, January 29, 13
Chef workflow at
                            Daniel Schauenberg
                          dschauenberg@etsy.com
                                 @mrtazz




Tuesday, January 29, 13

More Related Content

Etsy chef-workflow

  • 1. Chef workflow at Daniel Schauenberg dschauenberg@etsy.com @mrtazz Tuesday, January 29, 13
  • 2. Etsy Infrastructure • ~1000 nodes • ~30 dev/ops engineers making changes regularly • Open Source Chef server + GitHub Enterprise • Default environment setup (production, development, testing) Tuesday, January 29, 13
  • 5. % shef chef > recipe chef:recipe > echo off chef:recipe > include_recipe "apache" chef:recipe > run_chef Tuesday, January 29, 13
  • 6. % review -r jcowie --cc ops Tuesday, January 29, 13
  • 7. % knife spork check apache % knife spork bump apache % git commit % git push % knife spork upload apache Staging Deploy Tuesday, January 29, 13
  • 8. jonlives/knife-flip % knife node flip node.etsy.com testing % knife role flip testRole testing Tuesday, January 29, 13
  • 9. % knife spork promote apache % git commit % git push % knife spork promote apache --remote Production Deploy Tuesday, January 29, 13
  • 10. 19:18:06 irccat | CHEF: Daniel Schauenberg promoted apache@0.0.2 to development https://github.etsycorp.com/gist/12345 19:18:06 irccat | CHEF: Daniel Schauenberg promoted apache@0.0.2 to production https://github.etsycorp.com/gist/12346 Tuesday, January 29, 13
  • 11. etsy/chef-handlers 19:20:00 irccat | Chef run failed on test.etsy.com 19:20:00 irccat | https://github.etsycorp.com/gist/ 12347 jgoulah/knife-lastrun % knife node lastrun test.etsy.com Tuesday, January 29, 13
  • 13. Summary • GitHub Enterprise, Dev VMs, shef as development environment • Chef Server and knife-spork as Deployment System • Monitoring, Notifications, Graphs Tuesday, January 29, 13
  • 14. • http://codeascraft.etsy.com/ • http://www.slideshare.net/jonlives/michelin- starred-cooking-with-chef • http://www.slideshare.net/mcdonnps/ lessons-from-etsy-avoiding-kitchen- nightmares-chefconf-2012 • https://github.com/jonlives/knife-spork • https://github.com/jonlives/knife-flip • https://github.com/jgoulah/knife-lastrun Tuesday, January 29, 13
  • 15. Chef workflow at Daniel Schauenberg dschauenberg@etsy.com @mrtazz Tuesday, January 29, 13