Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Chef Workflows

Pete Cheslock
March 04, 2013
130

Chef Workflows

My presentation of chef workflows given at the Chef Boston Meetup

I'm not advocating that this is the "right way" to do this. Only talking about how to use git versioning if you have a complex org structure and need separate chef orgs.

Pete Cheslock

March 04, 2013
Tweet

Transcript

  1. Team Development Workflows Managing Cookbooks, Roles & Databags Across Versions

    Chef Boston Meetup Aug 28th 2012 Pete Cheslock Sonian
  2. Caveats & Thoughts —  I’m not advocating the Right™ way

    to do any one thing here. —  This works for us (Sonian) – it may not work for you. YMMV —  A good process evolves over time. What we started is not where we are today and not where we’ll be in 6 months. —  Ownership – set it and forget it won’t work here.
  3. Our Problem —  Many different software stacks with separate customer

    SLA’s —  Small changes could have large consequences. —  Many people making changes to branches (inside and outside our team). —  High velocity – many hot-fixes – limited testing – Zero Tracking. —  Technical Debt (An easy one to blame stuff on)
  4. Stage 1 —  Ticket Bankruptcy – Make the move to

    Jira —  Invest in cleanup of technical debt —  Specifically in our Git Repository —  Split the team into Proactive/Reactive Team —  Decrease distractions —  Increase focus – decrease context switching —  Introduction of myself as the “buffer” —  New Feature Requests —  Hotfixes or Sysadmin type tasks —  Support our Engineering and Support Team
  5. Stage 2 —  Deployment Checklists —  Peer reviewed – across

    departments —  “Follow the checklist” —  Deploy Ownership – Team Based Deploys —  Make our chef runs faster/more efficient. —  Cookbook refactor, invest in knife plugins, LWRP , overall quality. —  Monitoring, Metrics, Security
  6. Stage 3 —  Build apps to support our technology — 

    External —  Sensu (https://github.com/sensu) (MIT) —  SCLI (https://github.com/sonian/scli) IBM Smartcloud command line tool (MIT) —  Mise En Place (Soon to be released with MIT license) —  Fog (https://github.com/fog) - Contributions to Smartcloud and VPC support. —  Internal —  Security —  Automation
  7. Taking Code from Idea to Deployment —  Sprint Planning (3

    week Dev – 1 week QA) —  Create Jira Story – Prioritize in next sprint unless needed now. —  All Chef branches need Jira stories —  Commit, Merge, Push, Test —  All Jira stories (and branches) live in QA for regression testing —  After QA Approval – merge to master
  8. Production Complexity release/ 2012-07-01 base/ 2012-07-01 release/ 2012-08-01 base/ 2012-08-01

    master Cherry-Picks Forward Rebase & Squash Commit Branches Backwards Cut Branch eng-9999
  9. Why? —  Can’t have untested changes make it out to

    production. Small changes could have unintended consequences. —  Sets of chef cookbooks and application code (often tied together) were tested at the same time. —  Important to get the processes in place prior to investment in automation. —  Technical Debt (The scapegoat)