chef boston-workflows

Post on 12-May-2015

512 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Team Development Workflows

Managing Cookbooks, Roles & Databags Across VersionsChef Boston Meetup

Aug 28th 2012

Pete CheslockSonian

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.

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)

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

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

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

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

Development Simplicity

Dev (Daily)

QA (Daily)

Master

Cut Branch(eng-9999)

Make ChangesMerge

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

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)

Questions?

Contact me:Email: pete.cheslock@sonian.netTwitter: @petecheslock

top related