Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Experiences from implementing chef in the Enterprise | Charles Richards | LTG-25


Published on

Presentation held at Lean Tribe Gathering 25 in Gothenburg feb 19 2015.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Experiences from implementing chef in the Enterprise | Charles Richards | LTG-25

  1. 1.
  2. 2. Experiences from implementing chef in the Enterprise Softhouse Lean Tribe – 19th February 2015 Scott Russell Charles Richards Devops Evangelist EMEA partner program
  3. 3. Journey Journey to the coded business and background Choose tools wisely, keep faith in the journey Tools, dictate tools, be careful of the momentum Expand team, train, educate and “Build” enthusiasm, not just artifacts! Demo regularly and often. Invite “all corners” of the company D-T-P – the Dev/Test/Prod Issue Put workflow in the pipeline – Q: there’s a pipeline? Timeline Lessons learned on the Journey
  4. 4. Journey to the Coded business and background • No clear plan initially • Attended a pragprog ruby course and covered Capistrano for deployment (?) • Never encountered developers bothering with deployment ( 2010?)(?) • Played around with Capistrano and Websitrano, Got deployment working, but • Looked at Chef, and alternatives, Choose Chef. • Spent a month, thinking that Chef was feature rich, and doubting the choice. • Enlightenment. It started to make sense, but still reservations about journey
  5. 5. Choose Tools Wisely • Choose Chef • Choose Subversion for Source control – Corporate Standard • One month later – tiring of converting Git cookbooks to Subversion • Switch to Git – enormous resistance within Org, but Workflow becomes easier • Fast paced development of Chef means upgrades/bugfixes and functionality • Two week lag on chef release to in-house upgrades ( yes it was worth it! ) • Choose Jenkins – more later
  6. 6. Expand Team • Realisation that Chef implementation is actually bigger than one person • Expand team to take on dedicated “Chef”, not a cook • Try to do the “big” complex application cookbook(s) • Resulted in a 6 month delay before any results • Re-evaluate. Do the small applications - Break the elephant into chunks • Discover, Chef focused person does not make a good sysadmin. • Pair chef expert and domain expert, now cookbooks rock!
  7. 7. Train and Educate – build Enthusiasm • Chef Fundamentals training for all the team • This happened late in the cycle and left some team members in the cold • No point training if not using immediately after, or before • Choose the team/participants carefully, people who are onboard are the goal • Attend conferences – this is so new, that is best place to learn, from peers • Contaminate other teams. Encourage movement to/from other teams
  8. 8. Dev/Test/Prod Issue D-T-P • Variation in build, different sysadmin/developer for each build? • Problems already solved in Dev appear in Test. • Problems already solved in Dev and Test appear in Production • Problems already solved … Production occur months after go live • Traffic or load dependant issues surface months later. • Looks like a “new’ problem, but actually it is months/years old and known!
  9. 9. Put workflow in the pipeline Q: there’s a pipeline? • Put Jenkins into the cookbook workflow to allow faster builds • Realise, actually, Jenkins is so useful you can use it to orchestrate builds • Realise that you can combine git, chef, jenkins and use this for deployment • Realise that you can allow your business users access to Jenkins jobs • Who presses the deployment button now? Dev/Test/Production
  10. 10. Timeline Choose Chef Use workflow tools Pair chef expert with Domain expert Not everyone is a chef, we need cooks too Developers deploy ruby apps? Play with Capistrano Doubt Tool choice Intelligent editor of properties files Press Deploy Button Chef experts are not domain experts Choose smaller chunks
  11. 11. End Game Automation Business Process Intelligent editor of properties files Activate Business Button Deployed Apps Available
  12. 12. Lessons Learned on the journey • Questions may only appear along the Journey. • Not everyone is a Chef, we need cooks too. • In a rapidly changing technology space, Upgrade early, upgrade often • Domain expert combined with Chef expert is the preferred model • Stop repeated learning, in Dev, Test and Production ( D-T-P ) • Institutional Knowledge retained within scripts
  13. 13. Thank You – Questions?