Managing Cookbooks, Roles & Databags Across Versions
Chef Boston Meetup
Aug 28th 2012
Caveats & Thoughts
I’m not advocating the Right™ way to do any one thing
This works for us (Sonian) – it may not work for you.
A good process evolves over time. What we started is
not where we are today and not where we’ll be in 6
Ownership – set it and forget it won’t work here.
Many different software stacks with separate customer
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
Technical Debt (An easy one to blame stuff on)
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
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
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,
Monitoring, Metrics, Security
Build apps to support our technology
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.
Taking Code from Idea to
Sprint Planning (3 week Dev – 1 week QA)
Create Jira Story – Prioritize in next sprint unless
All Chef branches need Jira stories
Commit, Merge, Push, Test
All Jira stories (and branches) live in QA for regression
After QA Approval – merge to master
Merge Make Changes
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)