etsy chef-workflow
DESCRIPTION
TRANSCRIPT
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
% shefchef > recipechef:recipe > echo offchef: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 [email protected] to development https://github.etsycorp.com/gist/12345
19:18:06 irccat | CHEF: Daniel Schauenberg promoted [email protected] to production https://github.etsycorp.com/gist/12346
Tuesday, January 29, 13
19:20:00 irccat | Chef run failed on test.etsy.com 19:20:00 irccat | https://github.etsycorp.com/gist/12347
etsy/chef-handlers
% knife node lastrun test.etsy.com
jgoulah/knife-lastrun
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