chef boston-workflows

14
Team Development Workflows Managing Cookbooks, Roles & Databags Across Versions Chef Boston Meetup Aug 28 th 2012 Pete Cheslock Sonian

Upload: pete-cheslock

Post on 12-May-2015

511 views

Category:

Technology


0 download

DESCRIPTION

Managing Cookbooks, Roles, Databags across version releases. Chef-Boston Meetup Aug 28th 2012

TRANSCRIPT

Page 1: Chef boston-workflows

Team Development Workflows

Managing Cookbooks, Roles & Databags Across VersionsChef Boston Meetup

Aug 28th 2012

Pete CheslockSonian

Page 2: Chef boston-workflows

Caveats & ThoughtsI’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.

Page 3: Chef boston-workflows

Our ProblemMany 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)

Page 4: Chef boston-workflows

Stage 1Ticket Bankruptcy – Make the move to Jira

Invest in cleanup of technical debtSpecifically in our Git Repository

Split the team into Proactive/Reactive TeamDecrease distractions Increase focus – decrease context switching

Introduction of myself as the “buffer”New Feature RequestsHotfixes or Sysadmin type tasksSupport our Engineering and Support Team

Page 5: Chef boston-workflows

Stage 2Deployment 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

Page 6: Chef boston-workflows

Stage 3Build apps to support our technology

ExternalSensu (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.

InternalSecurityAutomation

Page 7: Chef boston-workflows
Page 8: Chef boston-workflows

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

Page 9: Chef boston-workflows

Development Simplicity

Dev (Daily)

QA (Daily)

Master

Cut Branch(eng-9999)

Make ChangesMerge

Page 10: Chef boston-workflows

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 Brancheng-9999

Page 11: Chef boston-workflows

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)

Page 12: Chef boston-workflows
Page 13: Chef boston-workflows
Page 14: Chef boston-workflows

Questions?

Contact me:Email: [email protected]: @petecheslock