DevOps Brisbane Meetup - June - ChefCon 2015

35
Mike Villis @mvillis

Transcript of DevOps Brisbane Meetup - June - ChefCon 2015

Page 1: DevOps Brisbane Meetup - June - ChefCon 2015

Mike Villis @mvillis

Page 2: DevOps Brisbane Meetup - June - ChefCon 2015

http://bit.ly/eggs365

Page 3: DevOps Brisbane Meetup - June - ChefCon 2015

A conference about Chef building great software!!

Page 4: DevOps Brisbane Meetup - June - ChefCon 2015

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

Page 5: DevOps Brisbane Meetup - June - ChefCon 2015

Delivery at Speed

• Cloud, Automation, DevOps

• Do it right - you get Speed & Quality, Safety and Security

• Dual Speed IT (digital first versus traditional IT)

Page 6: DevOps Brisbane Meetup - June - ChefCon 2015

Key Chef Announcements

• Chef Delivery!!

• Audit Mode (include ServerSpec in your Chef Recipes)

• Test Kitchen (windows support now merged to master)

Page 7: DevOps Brisbane Meetup - June - ChefCon 2015

Top 3 Presos

Page 8: DevOps Brisbane Meetup - June - ChefCon 2015

Adam Jacobs - Keynote

Page 9: DevOps Brisbane Meetup - June - ChefCon 2015

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”

Page 10: DevOps Brisbane Meetup - June - ChefCon 2015

Kung Fu

Page 11: DevOps Brisbane Meetup - June - ChefCon 2015

DevOps KungFu

• Principles - universally held beliefs

• Forms - shared between many styles, emphasis varies from style to style

• Application - unique to the individual

Page 12: DevOps Brisbane Meetup - June - ChefCon 2015

Is it OK for DevOps to be in your title?

Page 13: DevOps Brisbane Meetup - June - ChefCon 2015

Should we just make all Ops Devs and all Devs Ops?

Page 14: DevOps Brisbane Meetup - June - ChefCon 2015
Page 15: DevOps Brisbane Meetup - June - ChefCon 2015

http://bit.ly/devopskungfu

https://github.com/chef/devops-kungfu

Page 16: DevOps Brisbane Meetup - June - ChefCon 2015
Page 17: DevOps Brisbane Meetup - June - ChefCon 2015

Governance at Velocity

Page 18: DevOps Brisbane Meetup - June - ChefCon 2015

Changing Role of Auditors

Page 19: DevOps Brisbane Meetup - June - ChefCon 2015

Sample Tests

Page 20: DevOps Brisbane Meetup - June - ChefCon 2015

Chef Delivery

• Opinionated Pipeline Solution

• Includes GIT, CI, Deployments, Config Mgmt, Visibility, Audit

Page 21: DevOps Brisbane Meetup - June - ChefCon 2015

THE STAGES ARE FIXED

EACH STAGE HAS A FIXED SET OF PHASES

Page 22: DevOps Brisbane Meetup - June - ChefCon 2015

COMMON PIPELINE

Page 23: DevOps Brisbane Meetup - June - ChefCon 2015

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

Page 24: DevOps Brisbane Meetup - June - ChefCon 2015

PHASE EXEC

log "Running unit"

repo = node['delivery_builder']['repo']

delivery_builder_exec “run my junit tests" do command "mvn test" cwd repoend

Page 25: DevOps Brisbane Meetup - June - ChefCon 2015

MANY ACCEPTANCE PIPELINES

ONE DELIVERY PIPELINE

Page 26: DevOps Brisbane Meetup - June - ChefCon 2015

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

Page 27: DevOps Brisbane Meetup - June - ChefCon 2015

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

Page 28: DevOps Brisbane Meetup - June - ChefCon 2015

COOKBOOK WORKFLOW

Supermarket

Chef Server

review approve deliverChange

Cookbook

Node Node Node

Node Node Node

Node Node Node

Publi

sh

Publish

Update

Page 29: DevOps Brisbane Meetup - June - ChefCon 2015

CONFIG.JSON

{ "version": "1", "build_cookbook": "./.delivery/build_cookbook", "build_nodes": { "default": [“name:*buildnode-*”],

"unit": [“name:*-unittest*”], "lint": [“name:*-linttest*”],

"build": [“name:*-builder*”] }}

Page 30: DevOps Brisbane Meetup - June - ChefCon 2015
Page 31: DevOps Brisbane Meetup - June - ChefCon 2015

Chef Delivery Open Source

• Delivery Truck - https://github.com/opscode-cookbooks/delivery-truck

• Delivery CLI - https://github.com/chef/delivery-cli

Page 32: DevOps Brisbane Meetup - June - ChefCon 2015
Page 33: DevOps Brisbane Meetup - June - ChefCon 2015

Chef Office

Page 34: DevOps Brisbane Meetup - June - ChefCon 2015

All the talks from ChefCon 2015

• http://bit.ly/chef-talks

Page 35: DevOps Brisbane Meetup - June - ChefCon 2015

Mike Villis @mvillis