Mike Villis @mvillis
Mike Villis @mvillis
http://bit.ly/eggs365
A conference about Chef building great software!!
Evolution of Software
• Software was a non-core capability.
• Surface area of IT is expanding an in impressive rate
• More and more businesses are claiming to be in the software business
Delivery at Speed
• Cloud, Automation, DevOps
• Do it right - you get Speed & Quality, Safety and Security
• Dual Speed IT (digital first versus traditional IT)
Key Chef Announcements
• Chef Delivery!!
• Audit Mode (include ServerSpec in your Chef Recipes)
• Test Kitchen (windows support now merged to master)
Top 3 Presos
Adam Jacobs - Keynote
Adam Jacobs - Keynote
• Some felt as if they had some ownership of what DevOps meant and how it felt
• DevOps best defined by the experiences of all these people trying to transform their businesses
• Unique to any person who tries to do “DevOps”
Kung Fu
DevOps KungFu
• Principles - universally held beliefs
• Forms - shared between many styles, emphasis varies from style to style
• Application - unique to the individual
Is it OK for DevOps to be in your title?
Should we just make all Ops Devs and all Devs Ops?
http://bit.ly/devopskungfu
https://github.com/chef/devops-kungfu
Governance at Velocity
Changing Role of Auditors
Sample Tests
Chef Delivery
• Opinionated Pipeline Solution
• Includes GIT, CI, Deployments, Config Mgmt, Visibility, Audit
THE STAGES ARE FIXED
EACH STAGE HAS A FIXED SET OF PHASES
COMMON PIPELINE
BUILD COOKBOOK
!"" recipes !"" default.rb
!"" lint.rb !"" syntax.rb !"" unit.rb !"" quality.rb !"" security.rb !"" publish.rb !"" provision.rb
!"" deploy.rb !"" smoke.rb
$"" functional.rb
PHASE EXEC
log "Running unit"
repo = node['delivery_builder']['repo']
delivery_builder_exec “run my junit tests" do command "mvn test" cwd repoend
MANY ACCEPTANCE PIPELINES
ONE DELIVERY PIPELINE
COMMON PIPELINEOne Pipeline
Delivery Pipeline - Shared
union rehearsal delivered
Acceptance Pipelines - Private
review approve deliverChange
Cookbook [A]
review approve deliverChange
Cookbook [B]
review approve deliverChange
Application [A]
review approve deliverChange
Application [B]
Infrastructure & Applications
APPLICATION WORKFLOW
review approve deliverChange
Application
Node Node Node
Node Node Node
Node Node Node
Deploy
1 2 3
2 2 3
3 3 3
COOKBOOK WORKFLOW
Supermarket
Chef Server
review approve deliverChange
Cookbook
Node Node Node
Node Node Node
Node Node Node
Publi
sh
Publish
Update
CONFIG.JSON
{ "version": "1", "build_cookbook": "./.delivery/build_cookbook", "build_nodes": { "default": [“name:*buildnode-*”],
"unit": [“name:*-unittest*”], "lint": [“name:*-linttest*”],
"build": [“name:*-builder*”] }}
Chef Delivery Open Source
• Delivery Truck - https://github.com/opscode-cookbooks/delivery-truck
• Delivery CLI - https://github.com/chef/delivery-cli
Chef Office
Mike Villis @mvillis