SlideShare a Scribd company logo
1 of 15
Download to read offline
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

What's hot

Making the most of your Test Suite
Making the most of your Test SuiteMaking the most of your Test Suite
Making the most of your Test Suiteericholscher
 
Automating Large Applications on Modular and Structured Form with Gulp
Automating Large Applications on Modular and Structured Form with GulpAutomating Large Applications on Modular and Structured Form with Gulp
Automating Large Applications on Modular and Structured Form with GulpAnderson Aguiar
 
Using Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksUsing Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksTimur Batyrshin
 
ZfDayIt 2014 - There is a module for everything
ZfDayIt 2014 - There is a module for everythingZfDayIt 2014 - There is a module for everything
ZfDayIt 2014 - There is a module for everythingGianluca Arbezzano
 
Develop - Project Scaffolding
Develop - Project ScaffoldingDevelop - Project Scaffolding
Develop - Project ScaffoldingKevin Cao
 
Superb Supervision of Short-lived Servers with Sensu
Superb Supervision of Short-lived Servers with SensuSuperb Supervision of Short-lived Servers with Sensu
Superb Supervision of Short-lived Servers with SensuPaul O'Connor
 
Automating your workflow with Gulp.js
Automating your workflow with Gulp.jsAutomating your workflow with Gulp.js
Automating your workflow with Gulp.jsBo-Yi Wu
 
Puppet Development Workflow
Puppet Development WorkflowPuppet Development Workflow
Puppet Development WorkflowJeffery Smith
 
Michelin Starred Cooking with Chef
Michelin Starred Cooking with ChefMichelin Starred Cooking with Chef
Michelin Starred Cooking with ChefJon Cowie
 
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...Puppet
 
What's New in v2 - AnsibleFest London 2015
What's New in v2 - AnsibleFest London 2015What's New in v2 - AnsibleFest London 2015
What's New in v2 - AnsibleFest London 2015jimi-c
 
The story became happy with itamae
The story became happy with itamaeThe story became happy with itamae
The story became happy with itamaeNobutoshi Ogata
 
Cucumber integration tests alireza zare
Cucumber integration tests   alireza zareCucumber integration tests   alireza zare
Cucumber integration tests alireza zareiprofsevents
 
Django deployment best practices
Django deployment best practicesDjango deployment best practices
Django deployment best practicesErik LaBianca
 

What's hot (20)

Making the most of your Test Suite
Making the most of your Test SuiteMaking the most of your Test Suite
Making the most of your Test Suite
 
IT Automation with Chef
IT Automation with ChefIT Automation with Chef
IT Automation with Chef
 
Automating Large Applications on Modular and Structured Form with Gulp
Automating Large Applications on Modular and Structured Form with GulpAutomating Large Applications on Modular and Structured Form with Gulp
Automating Large Applications on Modular and Structured Form with Gulp
 
Using Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksUsing Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooks
 
The Environment Restaurant
The Environment RestaurantThe Environment Restaurant
The Environment Restaurant
 
ZfDayIt 2014 - There is a module for everything
ZfDayIt 2014 - There is a module for everythingZfDayIt 2014 - There is a module for everything
ZfDayIt 2014 - There is a module for everything
 
Develop - Project Scaffolding
Develop - Project ScaffoldingDevelop - Project Scaffolding
Develop - Project Scaffolding
 
Vagrant - PugMI
Vagrant - PugMIVagrant - PugMI
Vagrant - PugMI
 
Superb Supervision of Short-lived Servers with Sensu
Superb Supervision of Short-lived Servers with SensuSuperb Supervision of Short-lived Servers with Sensu
Superb Supervision of Short-lived Servers with Sensu
 
Automating your workflow with Gulp.js
Automating your workflow with Gulp.jsAutomating your workflow with Gulp.js
Automating your workflow with Gulp.js
 
Puppet Development Workflow
Puppet Development WorkflowPuppet Development Workflow
Puppet Development Workflow
 
Michelin Starred Cooking with Chef
Michelin Starred Cooking with ChefMichelin Starred Cooking with Chef
Michelin Starred Cooking with Chef
 
NATE-CHEF
NATE-CHEFNATE-CHEF
NATE-CHEF
 
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
 
What's New in v2 - AnsibleFest London 2015
What's New in v2 - AnsibleFest London 2015What's New in v2 - AnsibleFest London 2015
What's New in v2 - AnsibleFest London 2015
 
Cooking with Chef
Cooking with ChefCooking with Chef
Cooking with Chef
 
The story became happy with itamae
The story became happy with itamaeThe story became happy with itamae
The story became happy with itamae
 
Chef
ChefChef
Chef
 
Cucumber integration tests alireza zare
Cucumber integration tests   alireza zareCucumber integration tests   alireza zare
Cucumber integration tests alireza zare
 
Django deployment best practices
Django deployment best practicesDjango deployment best practices
Django deployment best practices
 

Viewers also liked

Chef Compliance & Workflow w/Delivery
Chef Compliance & Workflow w/Delivery Chef Compliance & Workflow w/Delivery
Chef Compliance & Workflow w/Delivery Chef
 
“Debugging is on the table” Dr. House pergunta a um Sysadmin
“Debugging is on the table”  Dr. House pergunta a um Sysadmin“Debugging is on the table”  Dr. House pergunta a um Sysadmin
“Debugging is on the table” Dr. House pergunta a um SysadminLeonardo Martins
 
Chef - Administration for programmers
Chef - Administration for programmersChef - Administration for programmers
Chef - Administration for programmersmrsabo
 
Deploying infrastructure with Opscode Chef
Deploying infrastructure with Opscode ChefDeploying infrastructure with Opscode Chef
Deploying infrastructure with Opscode ChefRobert Berger
 
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCState of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCPuppet
 
CPU Performance Enhancements
CPU Performance EnhancementsCPU Performance Enhancements
CPU Performance EnhancementsDilum Bandara
 
Infrastructure Automation with Chef
Infrastructure Automation with Chef Infrastructure Automation with Chef
Infrastructure Automation with Chef REAN Cloud
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionJoshua Thijssen
 

Viewers also liked (10)

Chef Compliance & Workflow w/Delivery
Chef Compliance & Workflow w/Delivery Chef Compliance & Workflow w/Delivery
Chef Compliance & Workflow w/Delivery
 
Training Opscode Chef
Training Opscode  ChefTraining Opscode  Chef
Training Opscode Chef
 
“Debugging is on the table” Dr. House pergunta a um Sysadmin
“Debugging is on the table”  Dr. House pergunta a um Sysadmin“Debugging is on the table”  Dr. House pergunta a um Sysadmin
“Debugging is on the table” Dr. House pergunta a um Sysadmin
 
Chef - Administration for programmers
Chef - Administration for programmersChef - Administration for programmers
Chef - Administration for programmers
 
Deploying infrastructure with Opscode Chef
Deploying infrastructure with Opscode ChefDeploying infrastructure with Opscode Chef
Deploying infrastructure with Opscode Chef
 
Dive into Chef
Dive into ChefDive into Chef
Dive into Chef
 
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCState of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
 
CPU Performance Enhancements
CPU Performance EnhancementsCPU Performance Enhancements
CPU Performance Enhancements
 
Infrastructure Automation with Chef
Infrastructure Automation with Chef Infrastructure Automation with Chef
Infrastructure Automation with Chef
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 Edition
 

Similar to Etsy chef-workflow

Ten Things You Didn't Know Git And GitHub Could Do
Ten Things You Didn't Know Git And GitHub Could DoTen Things You Didn't Know Git And GitHub Could Do
Ten Things You Didn't Know Git And GitHub Could DoOwen Ou
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...NETWAYS
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Puppet
 
Testing Your Automation Code (Docker Version)
Testing Your Automation Code (Docker Version)Testing Your Automation Code (Docker Version)
Testing Your Automation Code (Docker Version)Mischa Taylor
 
Release management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRARelease management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRAYaroslav Serhieiev
 
개발자가 Serverless로 운동하는 방법
개발자가 Serverless로 운동하는 방법개발자가 Serverless로 운동하는 방법
개발자가 Serverless로 운동하는 방법Jiyeon Seo
 
Testing Drupal with Ghosts and Gherkin
Testing Drupal  with Ghosts and GherkinTesting Drupal  with Ghosts and Gherkin
Testing Drupal with Ghosts and GherkinPhase2
 
Chef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudChef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudJames Casey
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresFrançois Le Droff
 
ChefConf 2013: Beginner Chef Antipatterns
ChefConf 2013: Beginner Chef AntipatternsChefConf 2013: Beginner Chef Antipatterns
ChefConf 2013: Beginner Chef AntipatternsJulian Dunn
 
Drupal Course 2012 - Code Driven Development
Drupal Course 2012 - Code Driven DevelopmentDrupal Course 2012 - Code Driven Development
Drupal Course 2012 - Code Driven DevelopmentAttila Cs. Nagy
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflowTomas Doran
 
Building a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToBuilding a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToRaymond Camden
 
How to not blow up spaceships
How to not blow up spaceshipsHow to not blow up spaceships
How to not blow up spaceshipsSabin Marcu
 

Similar to Etsy chef-workflow (20)

Puppet & Jenkins
Puppet & JenkinsPuppet & Jenkins
Puppet & Jenkins
 
Ten Things You Didn't Know Git And GitHub Could Do
Ten Things You Didn't Know Git And GitHub Could DoTen Things You Didn't Know Git And GitHub Could Do
Ten Things You Didn't Know Git And GitHub Could Do
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...Building scalable applications while scaling your infrastructure by rhommel l...
Building scalable applications while scaling your infrastructure by rhommel l...
 
Testing Your Automation Code (Docker Version)
Testing Your Automation Code (Docker Version)Testing Your Automation Code (Docker Version)
Testing Your Automation Code (Docker Version)
 
Release management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRARelease management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRA
 
개발자가 Serverless로 운동하는 방법
개발자가 Serverless로 운동하는 방법개발자가 Serverless로 운동하는 방법
개발자가 Serverless로 운동하는 방법
 
Testing Drupal with Ghosts and Gherkin
Testing Drupal  with Ghosts and GherkinTesting Drupal  with Ghosts and Gherkin
Testing Drupal with Ghosts and Gherkin
 
Chef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudChef - Configuration Management for the Cloud
Chef - Configuration Management for the Cloud
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 
Automate Yo' Self
Automate Yo' SelfAutomate Yo' Self
Automate Yo' Self
 
Multisite for the Masses
Multisite for the MassesMultisite for the Masses
Multisite for the Masses
 
ChefConf 2013: Beginner Chef Antipatterns
ChefConf 2013: Beginner Chef AntipatternsChefConf 2013: Beginner Chef Antipatterns
ChefConf 2013: Beginner Chef Antipatterns
 
Java User Group Cologne
Java User Group CologneJava User Group Cologne
Java User Group Cologne
 
Drupal Course 2012 - Code Driven Development
Drupal Course 2012 - Code Driven DevelopmentDrupal Course 2012 - Code Driven Development
Drupal Course 2012 - Code Driven Development
 
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
With your bare hands
With your bare handsWith your bare hands
With your bare hands
 
Building a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared ToBuilding a PWA - For Everyone Who Is Scared To
Building a PWA - For Everyone Who Is Scared To
 
How to not blow up spaceships
How to not blow up spaceshipsHow to not blow up spaceships
How to not blow up spaceships
 

More from Daniel Schauenberg

Deploy, Collaborate and Listen
Deploy, Collaborate and ListenDeploy, Collaborate and Listen
Deploy, Collaborate and ListenDaniel Schauenberg
 
Development, Deployment & Collaboration at Etsy
Development, Deployment & Collaboration at EtsyDevelopment, Deployment & Collaboration at Etsy
Development, Deployment & Collaboration at EtsyDaniel Schauenberg
 
A Whirlwind Tour of Etsy's Monitoring Stack
A Whirlwind Tour of Etsy's Monitoring StackA Whirlwind Tour of Etsy's Monitoring Stack
A Whirlwind Tour of Etsy's Monitoring StackDaniel Schauenberg
 
Development, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at EtsyDevelopment, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at EtsyDaniel Schauenberg
 
StatsD Workshop Monitorama 2013
StatsD Workshop Monitorama 2013StatsD Workshop Monitorama 2013
StatsD Workshop Monitorama 2013Daniel Schauenberg
 

More from Daniel Schauenberg (11)

Human Factors and PostMortems
Human Factors and PostMortemsHuman Factors and PostMortems
Human Factors and PostMortems
 
Deploy, Collaborate and Listen
Deploy, Collaborate and ListenDeploy, Collaborate and Listen
Deploy, Collaborate and Listen
 
Data Driven Monitoring
Data Driven MonitoringData Driven Monitoring
Data Driven Monitoring
 
Development, Deployment & Collaboration at Etsy
Development, Deployment & Collaboration at EtsyDevelopment, Deployment & Collaboration at Etsy
Development, Deployment & Collaboration at Etsy
 
Mobile CI at Etsy
Mobile CI at EtsyMobile CI at Etsy
Mobile CI at Etsy
 
A Whirlwind Tour of Etsy's Monitoring Stack
A Whirlwind Tour of Etsy's Monitoring StackA Whirlwind Tour of Etsy's Monitoring Stack
A Whirlwind Tour of Etsy's Monitoring Stack
 
Development, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at EtsyDevelopment, Deployment and Collaboration at Etsy
Development, Deployment and Collaboration at Etsy
 
Scaling Deployment at Etsy
Scaling Deployment at EtsyScaling Deployment at Etsy
Scaling Deployment at Etsy
 
DevTools at Etsy
DevTools at EtsyDevTools at Etsy
DevTools at Etsy
 
Scaling Deployment at Etsy
Scaling Deployment at EtsyScaling Deployment at Etsy
Scaling Deployment at Etsy
 
StatsD Workshop Monitorama 2013
StatsD Workshop Monitorama 2013StatsD Workshop Monitorama 2013
StatsD Workshop Monitorama 2013
 

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