Dev Dives: Streamline document processing with UiPath Studio Web
Chef boston-workflows
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.
8. 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
9. Development Simplicity
Dev QA
Master
(Daily) (Daily)
Cut Branch
Merge Make Changes
(eng-9999)
11. 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)