from dev/ops to devops: what a difference one character makes

103
From Dev/Ops to devops

Upload: patrick-debois

Post on 06-May-2015

9.384 views

Category:

Documents


2 download

DESCRIPTION

These are the slides presented at both T-dose and Devoxx 2010 by Kris Buytaert and Patrick Debois.

TRANSCRIPT

Page 1: From Dev/ops to devops: What a difference one character makes

From Dev/Ops

todevops

Page 3: From Dev/ops to devops: What a difference one character makes
Page 4: From Dev/ops to devops: What a difference one character makes

There was this great IT company

Page 5: From Dev/ops to devops: What a difference one character makes

Full of IT-professionals

Page 6: From Dev/ops to devops: What a difference one character makes

But when a new

release was at hand

Page 7: From Dev/ops to devops: What a difference one character makes

Things changed

DEVS OPS

Page 8: From Dev/ops to devops: What a difference one character makes

“please deploy this warfile now”

Page 9: From Dev/ops to devops: What a difference one character makes

“we need more detail”

Page 10: From Dev/ops to devops: What a difference one character makes

“just do it, it’s important”

Page 11: From Dev/ops to devops: What a difference one character makes

“we still need more info”

Page 12: From Dev/ops to devops: What a difference one character makes

I’m superior!

Operations is so slow

We create real value

Devs don’t know production

We protect real value

I’m superior!

Page 13: From Dev/ops to devops: What a difference one character makes

silenceAnd after a few rounds

Page 14: From Dev/ops to devops: What a difference one character makes

The business was horrified

Page 15: From Dev/ops to devops: What a difference one character makes

Dev/Ops

Page 16: From Dev/ops to devops: What a difference one character makes

Dev/Ops

Page 17: From Dev/ops to devops: What a difference one character makes

Why can’t we just get along?

Page 18: From Dev/ops to devops: What a difference one character makes

Infrastructure used to be hard(ware)

Page 19: From Dev/ops to devops: What a difference one character makes

operations could only jump not fly

Page 20: From Dev/ops to devops: What a difference one character makes

therefore operations avoided change

Page 21: From Dev/ops to devops: What a difference one character makes

But then came virtualization

Page 22: From Dev/ops to devops: What a difference one character makes

The cloud showed us how to scale

Page 23: From Dev/ops to devops: What a difference one character makes

Infrastructure as code

CFEngine Puppet Chef

Page 24: From Dev/ops to devops: What a difference one character makes

# tomcat.pp

class tomcat {

! package {! ! "java-1.6.0-sun-compat":! ! ! ensure => "installed";! ! "tomcat6":! ! ! require => [Package["java-1.6.0-sun-compat"], Package["ntc-tomcat-log4j"]],! ! ! ensure => "installed";! ! "tomcat6-admin-webapps":! ! ! ensure => "installed";! ! "log4j":! ! ! ensure => "installed";! ! "tanukiwrapper":! ! ! ensure => "installed";! ! "mysql-connector-java":! ! ! ensure => "installed";! }

! file {! ! "/etc/init.d/tomcat6": mode => "0755", owner => "root", group => "root", source => "puppet:///tomcat/tomcat6.init"; }

! user {! ! "tomcat":! ! ! ensure => "present",! ! ! require => Package["tomcat6"];! }}!

tomcat",! ! ! mode => "0755",! ! ! require => Package['tomcat6'],! ! ! content => template("headers/header-xml.erb","tomcat/tomcat6-init.erb");! ! "/etc/init.d/build-jar-repo":! ! ! owner => "tomcat", group => "tomcat", mode => "0755",! ! ! require => Package['tomcat6'], source => "puppet:///tomcat/build-jar-repo";! ! "/var/log/tomcat6/$name":! ! ! owner => "tomcat",! ! ! group => "tomcat",! ! ! mode => "0755",! ! ! require => Package['tomcat6'],! ! ! ensure => "directory";! ! "/var/cache/tomcat6/temp/$name": owner => "root", group => "root", mode => "0755",! ! ! require => Package['tomcat6'], ensure => "directory";! ! "/var/cache/tomcat6/work/$name": owner => "root", group => "root", mode => "0755",! ! ! require => Package['tomcat6'], ensure => "directory";! ! "/usr/local/tomcat6-$name/temp":! ! ! ensure => "link", require => File["/var/cache/tomcat6/temp/$name"], target => "/var/cache/tomcat6/temp/$name";! ! "/usr/local/tomcat6-$name/work":! ! ! ensure => "link", require => File["/var/cache/tomcat6/work/$name"], target => "/var/cache/tomcat6/work/$name";! ! "/usr/local/tomcat6-$name/work/Catalina": owner => "tomcat", group => "tomcat", ensure => "directory", require => File["/usr/local/tomcat6-$name/work"]; "/usr/local/tomcat6-$name/work/Catalina/localhost": owner => "tomcat", group => "tomcat", ensure => "directory", require => File["/usr/local/tomcat6-$name/work/Catalina"]; "/usr/local/tomcat6-$name/work/Catalina/localhost/manager": owner => "tomcat", group => "tomcat", ensure => "directory", require => File["/usr/local/tomcat6-$name/work/Catalina/localhost"];! }

! service { "tomcat6-$name": enable => "false", require => [Package['tomcat6'], Package['tanukiwrapper']];! ! "build-jar-repo":! ! ! enable => "true",! ! ! start => "/etc/init.d/build-jar-repo", require => File["/etc/init.d/build-jar-repo"]];! }!

Example tomcat recipe

Page 25: From Dev/ops to devops: What a difference one character makes

AgileInfrastructure

Page 26: From Dev/ops to devops: What a difference one character makes

Rebuild from Scratch

Page 27: From Dev/ops to devops: What a difference one character makes

Version control

Page 28: From Dev/ops to devops: What a difference one character makes
Page 29: From Dev/ops to devops: What a difference one character makes

Automate things

Page 30: From Dev/ops to devops: What a difference one character makes

Controlled changes

Page 31: From Dev/ops to devops: What a difference one character makes

It’s more then just automation

Page 32: From Dev/ops to devops: What a difference one character makes

use tests as brakes to allow you to go faster

Page 33: From Dev/ops to devops: What a difference one character makes

Test deploy

+ rollbackscenario’s

Page 34: From Dev/ops to devops: What a difference one character makes

Make things reproducible

Page 35: From Dev/ops to devops: What a difference one character makes
Page 36: From Dev/ops to devops: What a difference one character makes

Agile Sysadmin

Page 37: From Dev/ops to devops: What a difference one character makes

Operations backlog

Page 38: From Dev/ops to devops: What a difference one character makes

Planning Poker

Page 39: From Dev/ops to devops: What a difference one character makes

Iterations vs flow

Page 40: From Dev/ops to devops: What a difference one character makes

Pair system administration

Page 41: From Dev/ops to devops: What a difference one character makes

Kanban board

Backlog Todo(3) Test(2) Production(1)

Page 42: From Dev/ops to devops: What a difference one character makes

OPS-OPS Problem

Network

Sysadmin

Storage

Security

Page 43: From Dev/ops to devops: What a difference one character makes

But agile devs know all that

Page 44: From Dev/ops to devops: What a difference one character makes

We all become

developers now?

Page 45: From Dev/ops to devops: What a difference one character makes

Devs can just shipa virtual machine?

Page 46: From Dev/ops to devops: What a difference one character makes

Stop the rockstar mentality!

Page 47: From Dev/ops to devops: What a difference one character makes

Don’t fear

for your job

Page 48: From Dev/ops to devops: What a difference one character makes

All this automation will only help against some local pain

Page 49: From Dev/ops to devops: What a difference one character makes

Let’s turn the pain level up a notch

Page 50: From Dev/ops to devops: What a difference one character makes

Continuous Integration

If it’s harddo it more often

Page 51: From Dev/ops to devops: What a difference one character makes

BuildPipelines

DEV TEST UAT PREPROD PROD

Page 52: From Dev/ops to devops: What a difference one character makes

Make all environmentsthe same

DEV TEST PROD

Page 53: From Dev/ops to devops: What a difference one character makes

Software only brings value in Production

Page 54: From Dev/ops to devops: What a difference one character makes

Parallel Build Pipelines

Infrastructure Build & Test

Software Build & Test

Data Build & Test

Application

OS Level

Data

Page 55: From Dev/ops to devops: What a difference one character makes

Synchronize your release cycles

Page 56: From Dev/ops to devops: What a difference one character makes

Think Continuous

Delivery

Page 57: From Dev/ops to devops: What a difference one character makes

There are still a few problems to solve

Page 58: From Dev/ops to devops: What a difference one character makes

How to package things

Page 59: From Dev/ops to devops: What a difference one character makes

access

We all want our

Page 60: From Dev/ops to devops: What a difference one character makes

Debug logs !=

Operational Logs

Page 61: From Dev/ops to devops: What a difference one character makes

Focus on: Flow & Cycle Time

Page 62: From Dev/ops to devops: What a difference one character makes

Value stream mapping

Page 63: From Dev/ops to devops: What a difference one character makes

Minimize waste

Page 64: From Dev/ops to devops: What a difference one character makes

Zero defect policy

Page 65: From Dev/ops to devops: What a difference one character makes

Stop the line mentality

Page 66: From Dev/ops to devops: What a difference one character makes

Fix things early in the process

Page 67: From Dev/ops to devops: What a difference one character makes

We wantContinuous Improvement

Page 68: From Dev/ops to devops: What a difference one character makes

We need to overcome a

bigger pain

Page 69: From Dev/ops to devops: What a difference one character makes

We need to overcome the silos

Development Operations

Page 70: From Dev/ops to devops: What a difference one character makes

Prince2, Agile, Scrum ITIL, Cobit, CMMI

Current management styles

Page 71: From Dev/ops to devops: What a difference one character makes

focus on optimizing individual parts

Page 72: From Dev/ops to devops: What a difference one character makes

Devsoptimize

their worldview

Page 73: From Dev/ops to devops: What a difference one character makes

Opsoptimize

their worldview

Page 74: From Dev/ops to devops: What a difference one character makes

Not In My Back YardSyndrome

Page 75: From Dev/ops to devops: What a difference one character makes

Causing technical debt

Page 76: From Dev/ops to devops: What a difference one character makes

Like cron job fixes

Page 77: From Dev/ops to devops: What a difference one character makes

The map is not

the territoryAlfred Korzybski

Page 78: From Dev/ops to devops: What a difference one character makes

Systems Thinking

Page 79: From Dev/ops to devops: What a difference one character makes

Understand it’s a business problem

Page 80: From Dev/ops to devops: What a difference one character makes

do the right thing vs

the thing right

Page 81: From Dev/ops to devops: What a difference one character makes

Collect Metrics

Problemsin production

Failure to deploy

Functionalitynot working

Bugs Failed deploys Incidents

Page 82: From Dev/ops to devops: What a difference one character makes

When to decideProject vs Incidents

Page 83: From Dev/ops to devops: What a difference one character makes

Orfunctional

vs non-functionalrequirements

Page 84: From Dev/ops to devops: What a difference one character makes

Relate it to business value

Value lostMarket lossValue Added

Bugs Failed deploys Incidents

Page 85: From Dev/ops to devops: What a difference one character makes

Advise and Accept the business decision

Page 86: From Dev/ops to devops: What a difference one character makes

Recap: No Silver Bullet

Page 87: From Dev/ops to devops: What a difference one character makes

It’s a jobtitle

Page 88: From Dev/ops to devops: What a difference one character makes

Even though we have a different culture

HardwareSoftware

Page 89: From Dev/ops to devops: What a difference one character makes

We share the same customer

Page 90: From Dev/ops to devops: What a difference one character makes

We try to solve the same business problem

Page 91: From Dev/ops to devops: What a difference one character makes

Why only work together when things go wrong?

Page 92: From Dev/ops to devops: What a difference one character makes

Managers are there to support you.

Not to tell you what to do

Page 93: From Dev/ops to devops: What a difference one character makes

It’s not about the tools

Page 94: From Dev/ops to devops: What a difference one character makes

It’s a cultural shift

Page 95: From Dev/ops to devops: What a difference one character makes

THE SECRET SAUCE OF THE DEVOPS:

CAMS• Culture

• Automation

• Measurement

• Sharing

John Willis & Damon Edwards

Page 96: From Dev/ops to devops: What a difference one character makes

Multiple levelshave higher impact

Page 97: From Dev/ops to devops: What a difference one character makes

Culture is hard, start with behavior

Effort to change

Impact

Tools

Behavior

Culture

Page 98: From Dev/ops to devops: What a difference one character makes

Become Awesome again

Page 99: From Dev/ops to devops: What a difference one character makes

Interesting Books

Page 100: From Dev/ops to devops: What a difference one character makes

Want to know more?

#devops on twitter & irchttp://devopsdays.orghttp://devopscafe.org

http://planetdevops.netdevops googlegroup

devops-toolchain googlegroup

Page 101: From Dev/ops to devops: What a difference one character makes

What keeps you awakeat night?

Page 102: From Dev/ops to devops: What a difference one character makes