118
http://jedi.be/blog Patrick Debois OPS DEV

Devops: The War is over - If you want it

Embed Size (px)

DESCRIPTION

This presentation is the combination of the talks I gave at ScrumNL about using Scrum in Operations and the talk at Xpdays Benelux 2010. It tries to highlight both the blurring lines between development operations. Both by the similarities in the tools being used, and the methodologies are used (Scrum, ITIL). It should not be fight about my methodology is better then yours, focus on the common things and work together.

Citation preview

Page 1: Devops: The War is over - If you want it

http://jedi.be/blogPatrick Debois

OPSDEV

Page 2: Devops: The War is over - If you want it

When I was a young developer

http://www.flickr.com/photos/ninahiironniemi/1118868590/sizes/l/

Page 3: Devops: The War is over - If you want it

http://1000awesomethings.files.wordpress.com/2008/11/campfire.jpg

I loved to developsimple applications

Page 4: Devops: The War is over - If you want it

http://www.rookgordijn.net/wp-content/uploads/2009/08/Texel_21.JPG

I kept my own little server going

Page 5: Devops: The War is over - If you want it

http://www.foodgeekery.com/fullimg/ribfest09-cowboy2.jpg

Most of the time , the results were fine

Page 6: Devops: The War is over - If you want it

http://www.flickr.com/photos/abbyladybug/2644163076/sizes/l/

Sometimes the applications would crash and I didn’t really know why

Page 7: Devops: The War is over - If you want it

http://www.motoer75.nl/images/BBQ2009030.jpg

But overall my friends seemed to like my work

Page 8: Devops: The War is over - If you want it

http://www.bfeedme.com/wp-content/uploads/2007/07/legends-of-texas-bbq-cookbook-of-the-day-7-30-07.jpg

I learned from the pro’s

Page 9: Devops: The War is over - If you want it

http://www.freepatentsonline.com/6557545-0-large.jpg

Read about software

architecture

Page 10: Devops: The War is over - If you want it

http://patiopalace.com/assets/images/gas-grills/webber/certifiedexperts3.jpg

I even got my Scrum certification

Page 11: Devops: The War is over - If you want it

http://www.flickr.com/photos/tradica/3071394619/sizes/l/

Still I was experiencing the occasional problems

Page 12: Devops: The War is over - If you want it

I blamed the operations guys

Page 13: Devops: The War is over - If you want it

http://media.photobucket.com/image/bbq%20cowboy/NotleyQue/The%20BBQ%20Family/CowboyChili.jpg

I decided to leave the cowboys

Page 14: Devops: The War is over - If you want it

http://www.flickr.com/photos/iimaj/3959147070/sizes/o/

And make plans of my own

Page 15: Devops: The War is over - If you want it

http://www.flickr.com/photos/brachiator/107510145/sizes/l/

I really wanted to focus on the customer

Page 16: Devops: The War is over - If you want it

http://www.dongeovanny.com/images/meatpage2kobe.jpg

I had the developers use the coolest programming languages

Page 17: Devops: The War is over - If you want it

http://www.bbqsaucereviews.com/wp-content/uploads/2009/06/bbqsaucereview-001.jpg

Use the best frameworks available

Page 18: Devops: The War is over - If you want it

http://jeffreysmeatmarketblog.files.wordpress.com/2009/06/picture-4-3-0412.jpg

We had the DBA’s take care of the database schemas

Page 19: Devops: The War is over - If you want it

http://www.flickr.com/photos/jayneandd/4078134280/sizes/l/http://www.flickr.com/photos/bhamsandwich/3601018752/sizes/l/

Explained them that User Interface is important

Page 20: Devops: The War is over - If you want it

http://lovefeasttable.com/blog/wp-content/uploads/2009/05/may09c067.jpg

Up until now we had done only some manual checks.

Page 21: Devops: The War is over - If you want it

http://www.flickr.com/photos/cookthink/210948100/sizes/l/

So we moved to unit tests

Page 22: Devops: The War is over - If you want it

http://blogs.suntimes.com/food/4-29_white_BBQ_1.jpg

Even Behavior Driven Development

Page 23: Devops: The War is over - If you want it

We were still experiencing problems with our application

servers.

Page 24: Devops: The War is over - If you want it

http://www.flickr.com/photos/80417459@N00/2056898218/

We brought in bigger storage boxes

Page 25: Devops: The War is over - If you want it

http://euroross.blogspot.com/bbq.jpg

gave the sysadmins the biggest servers

Page 26: Devops: The War is over - If you want it

http://propanesmoker.org/wp-content/uploads/2009/11/Propane_smoker.jpg

created virtual machines to

create different environments

Page 27: Devops: The War is over - If you want it

http://www.bbqpits.com/people_of_bbq/greg_nj3.jpg

Used the cloud to solve some scalability problems

Page 28: Devops: The War is over - If you want it

http://www.flickr.com/photos/theogeo/3317291208/sizes/l/in/photostream/

Still the customer wasn’t happy

Page 29: Devops: The War is over - If you want it

http://www.funnypictures.net.au/images/firefighter-bbq1.jpg

And the IT department was firefighting all the time

Page 30: Devops: The War is over - If you want it

http://www.flickr.com/photos/atesca/2457127172/sizes/l/

Then there was a complete power failure

Page 31: Devops: The War is over - If you want it

http://www.flickr.com/photos/zanyflash/2278286656/sizes/o/

Nobody had checked the power installation

Page 32: Devops: The War is over - If you want it

http://www.flickr.com/photos/cirox/363284194/sizes/l/

Leaving the application in an unknown state

Page 33: Devops: The War is over - If you want it

http://badgerdiary.files.wordpress.com/2008/12/closed-sign-smer.jpg

Resulting again in a major outage

Page 34: Devops: The War is over - If you want it

http://www.nonplusultra.nl/data/producten/12727-groot.jpg

Our small fixes would not help anymore

Page 35: Devops: The War is over - If you want it

http://www.proexotics.com/faq_images/soaking_water_monitor.jpg

All backups were corrupt because we could only backup properly when the application was down

Page 36: Devops: The War is over - If you want it

http://www.flickr.com/photos/jmv/16366498/sizes/o/

Luckily we had a cold Standby Backup

Page 37: Devops: The War is over - If you want it

http://www.flickr.com/photos/tom-poes/60373623/

Time to take a

step back

Page 38: Devops: The War is over - If you want it

http://allwecaneat.files.wordpress.com/2008/08/_igp7826_sm.jpg

We worked hard on minimizing technical debt in our code

Page 39: Devops: The War is over - If you want it

http://www.eggcookers.net/images/pictures/progressive-stainless-steel-bbq-tongs-bbq505.jpg

http://ecx.images-amazon.com/images/I/41wSaS%2BMy8L.jpg

We started to improve our deployment tools

Page 40: Devops: The War is over - If you want it

http://www.flickr.com/photos/wiphey/66525468/sizes/o/

Put monitoring in our development

and test environment

Page 41: Devops: The War is over - If you want it

http://3.bp.blogspot.com/_ySMs_t20v08/Sw8m5JjVg1I/AAAAAAAAAFQ/jr2nXJYSfbI/s1600/DSC_4835.jpg

Reused it in the production environment

Page 42: Devops: The War is over - If you want it

http://weblog.greenpeace.org/makingwaves/welldone430.jpg

Implemented scaling from the ground up

Page 43: Devops: The War is over - If you want it

http://www.universalbarbeque.com/images/untitled-2_copy.jpg

We made deployment reproducible

Page 44: Devops: The War is over - If you want it

http://www.flickr.com/photos/cjscott69/400160562/sizes/l/

Improved the way to collect metrics

Page 45: Devops: The War is over - If you want it

http://www.flickr.com/photos/namealus/3114627540/

To offload some of the appserverswe installed a caching system

Page 46: Devops: The War is over - If you want it

http://www.flickr.com/photos/benchilada/4231838748/sizes/l/

And loadbalancers solved the webserver scaling problem

Page 47: Devops: The War is over - If you want it

http://www.izzysburgerspa.com/images/uploaded/image/Delivery%20Truck%201.jpg

Content Delivery Networks

Page 48: Devops: The War is over - If you want it

http://strongdogz.com/wp-content/uploads/2008/09/beauceron.jpg

Made our application security proof

Page 49: Devops: The War is over - If you want it

http://www.flickr.com/photos/loop_oh/3086747855/sizes/o/

Comply to regulations

Page 50: Devops: The War is over - If you want it

http://www.mzmfarm.net/linked/img_3507.jpg

Integrated backups on the application level

Page 51: Devops: The War is over - If you want it

http://carrotsncake.com/wp-content/uploads/2009/03/img_6705.jpg

Solved the multi-user problem problem

Page 52: Devops: The War is over - If you want it

For some knowstates

We would automaticallyreset the system

Self healing on our database

http://assets.whirlpool.com/files/usr/970/FilterReset5.jpg

Page 53: Devops: The War is over - If you want it

So you want to be a great agile chef?

Page 54: Devops: The War is over - If you want it

http://www.damniwish.com/wp-content/uploads/2009/12/IMG_1265.jpg

Software Infrastructure

Presentation

Operations

Testing

Project

#1 care for the whole lifecycle#2 look at it from a business perspective

#3 work together as a team

Page 55: Devops: The War is over - If you want it

It’s not about the software

It’s not about the hardware

Page 56: Devops: The War is over - If you want it

I like my servers, software steak well done

http://www.flickr.com/photos/spenceke/2250116189/sizes/l/

Page 57: Devops: The War is over - If you want it

IT Tooling is changing

Page 58: Devops: The War is over - If you want it

Virtualization

• kvm

• xen

• solaris zones

• vmware

• virtualbox

• ...

Page 59: Devops: The War is over - If you want it

Cloud showed us how to scale

Page 60: Devops: The War is over - If you want it

Abstraction API

http://www.jclouds.org/

Adrian Cole@jclouds

http://libvirt.org/

Page 61: Devops: The War is over - If you want it

Platform as a Service

Page 62: Devops: The War is over - If you want it

Hudson as Service

http://www.cloudbees.com/

Page 63: Devops: The War is over - If you want it

But who will manage

your IAASplatform?

Page 64: Devops: The War is over - If you want it

First steps of Automation

https://fedorahosted.org/cobbler/

http://spacewalk.redhat.com/

http://fai-project.org/

Page 65: Devops: The War is over - If you want it

Cloning

Page 66: Devops: The War is over - If you want it

Virtual Sprawl

Page 68: Devops: The War is over - If you want it

# 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"]];! }!

Infrastructure as code

Page 69: Devops: The War is over - If you want it

Model Driven Infrastructure

Page 70: Devops: The War is over - If you want it

https://github.com/lusis/vogeler

John E. Vincent@lusis

Definitionof your

infrastructure

Page 71: Devops: The War is over - If you want it

Version Control

Page 72: Devops: The War is over - If you want it

Reusable components

https://github.com/camptocamp

Page 73: Devops: The War is over - If you want it

Code/Server SmellsPrivate!Playground

The sysadmin uses the system as his toy playground, doesn't clean up.

• /tmp & /var/tmp full of old install files• / full of files

Gready!Server

One server that does every function

• combined mail and web and dns and fileshares

• all users on the same systemRoot is the cause of all!evil

• last show login all root• no sudo is activated• no sshd keys for logins• nfs share/root?• Chmod 777• most processes run as root

Page 74: Devops: The War is over - If you want it

Sharing Recipes/Code

http://forge.puppetlabs.com/

http://cookbooks.opscode.com/

Page 75: Devops: The War is over - If you want it

Automation without tests is

Page 76: Devops: The War is over - If you want it

Lindsay Holmwood @auxesis

Feature: google.com It should be up And I should be able to search for things

Scenario: Searching for things When I visit "http://www.google.com" And I fill in "q" with "wikipedia" And I press "Google Search" Then I should see "www.wikipedia.org"

$ cucumber-nagios google.featureCritical: 0, Warning: 0, 4 okay | passed=4, failed=0

cucumber-nagios

Page 77: Devops: The War is over - If you want it

Lindsay Holmwood @auxesis

Scenario: Checking /etc/passwd When I ssh to "example.org" with the following credentials: | username | password | keyfile | | jacob | spifeofstrife | /home/jacob/.ssh/id_dsa | And I run "cat /etc/passwd" Then I should see "jacob" in the output

cucumber-ssh

Page 78: Devops: The War is over - If you want it

Julian Simpson@builddoctor

apache.featureFeature: In order to deploy my application As a systems administrator I want to know that the config files are legal

Scenario: Valid Apache config Given a config file template apache2.conf in etc/apache2 When I generate it Then there should be a file called apache2.conf in etc/apache2 And it should be valid

cucumber-apache

http://pastie.org/693713

Page 79: Devops: The War is over - If you want it

Feature: cucumber-puppet In order to run my puppet manifest's test suite As an admin I want the cucumber-puppet gem installed

Scenario: Install cucumber-puppet Given a node of class "cucumber-puppet" When I compile the catalog Then gem "cucumber-puppet" should be "installed"

https://github.com/nistude/cucumber-puppet

cucumber-puppet

Nikolay Sturm@nistude

Page 80: Devops: The War is over - If you want it

Orchestration

http://controltier.com/ http://marionett-collective.org

@ripienaar@damonedwards

Page 81: Devops: The War is over - If you want it

Vagrant

http://vagrantup.com/

Allows an easy way to use the production recipes in your own dev environment

Mitchell Hashimoto@mitchellh

Page 82: Devops: The War is over - If you want it

IAAS and PAAS blurring

Pull in both your recipes and your code

Page 84: Devops: The War is over - If you want it

Comparing Agile and ITIL

http://www.winstonind.com/images/brands/traditional_cooking_process.gif

Agile ITIL

Page 85: Devops: The War is over - If you want it

Certifications

Page 86: Devops: The War is over - If you want it

Process Fundamentalism

Page 87: Devops: The War is over - If you want it

Manifesto’s for the world

Meat Cloud Manifesto

Agile Manifesto

== Rules ==On Infrastructure—————–There is one system, not a collection of systems.The desired state of the system should be a known quantity.The “known quantity” must be machine parseable.The actual state of the system must self-correct to the desired state.The only authoritative source for the actual state of the system is the system.The entire system must be deployable using source media and text files.

On Buying Software——————-

.....

James White Manifesto

Page 88: Devops: The War is over - If you want it

Truck Factor

The number of people on your team

who have to be hit with a truck before

the project is in serious trouble

The ability to take a random machine in your infrastructure

, drop it from the 10th floor,

and be able to restore your infrastructure to working within 5-10 minutes

10th floor test

Page 89: Devops: The War is over - If you want it

Backlog of items

• User Stories

• Features

• Tickets

• Incidents

• Problems

Page 90: Devops: The War is over - If you want it

Requirements

• Login/Logout

• Print order

• CRUD order

• Security

• Capacity

• Stability

• Scalability

FunctionalNon-Functional

Page 91: Devops: The War is over - If you want it

Business ValueOrdered by

the value gainedOrdered by the value

protected

Increase Change Avoid Change

Page 92: Devops: The War is over - If you want it

Proxy Customers

ServiceManager

Understand what the business wants

Page 93: Devops: The War is over - If you want it

Support the team

Scrum ManagerService Delivery

Manager

Page 94: Devops: The War is over - If you want it

ProductOwner1

Ideally one product owner

ProductOwner2

ProductOwner3

Development Team

Project1 Project 2 Project 3

Operations ManagerScrum Master

Operations Team

Page 95: Devops: The War is over - If you want it

Outsourcing

Call CentersOutsourced

Development

Page 96: Devops: The War is over - If you want it

Specialist & GeneralistsRockstar Mentality

Testers UIDesigners

Frontend

Backend

AnalystsSecurity

Network

Storage

Sysadmins

Page 97: Devops: The War is over - If you want it

Global Ownership

It’s the javascript

It’s the backend

It’s the database

It’s the network

It’s the server

It’s the storage

Page 98: Devops: The War is over - If you want it

Sprint Review Meeting

Change AdvisoryBoard

Approve Changes

Page 99: Devops: The War is over - If you want it

Iterations & Flow

Page 100: Devops: The War is over - If you want it

Kanban

Page 101: Devops: The War is over - If you want it

1day sprints Operations

Page 102: Devops: The War is over - If you want it

SprintVelocity

Service Levels

Team Approved

Estimate

Improves over timeStoryPoints

Uptime 99%

Page 103: Devops: The War is over - If you want it

Continuous ImprovementLean Thinking

Lean ITILLean

Software Development

Page 104: Devops: The War is over - If you want it

Value Stream Mapping

Page 105: Devops: The War is over - If you want it

Technical waste

Page 106: Devops: The War is over - If you want it

What’s new?

I know all that

Page 107: Devops: The War is over - If you want it

The map is not

the territoryAlfred Korzybski

Page 108: Devops: The War is over - If you want it

Systems Thinking

Optimize the whole not just the individual parts

Page 109: Devops: The War is over - If you want it

People make it happen

Page 110: Devops: The War is over - If you want it

Culture & Mindset

Page 111: Devops: The War is over - If you want it

Collaboration

TestersAnalysts

Developers

Security

ArchitectsUI Designers

Network

Sysadmins

not only when things go wrong

Page 112: Devops: The War is over - If you want it

No rock star mentality

Mine are bigger then yours

Page 113: Devops: The War is over - If you want it

Craftsmanship

Page 114: Devops: The War is over - If you want it

Trust

Page 115: Devops: The War is over - If you want it

It’s about customervalue

http://www.flickr.com/photos/spenceke/2250116189/sizes/l/

Page 116: Devops: The War is over - If you want it

Interesting Books

Page 117: Devops: The War is over - If you want it

Want to know more?

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

http://planetdevops.netdevops googlegroup

devops-toolchain googlegroup

Page 118: Devops: The War is over - If you want it

The End