You are on page 1of 73

Hudson, Puppet, Cucumber

Patrick Debois Julian Simpson


23-25 March 2010 http://www.ukuug.org/
Thursday 25 March 2010

Patrick: Belgian

http://www.ickr.com/photos/bookeditor/ Thursday 25 March 2010

Julian: New Zealand

http://www.ickr.com/photos/glutnix/ Thursday 25 March 2010

A story about an IT company not so far away

http://www.ickr.com/photos/timmygunz/213619310/sizes/l/ Thursday 25 March 2010

Meet the manager

http://www.ickr.com/photos/thomashawk/31562846/sizes/l/

Thursday 25 March 2010

Project Managers

http://www.ickr.com/photos/praziquantel/32023792/sizes/o/
Thursday 25 March 2010

Rock-Star developers

http://www.ickr.com/photos/mikeygottawa/400926090/sizes/o/
Thursday 25 March 2010

Rock-Star sysadmins

http://www.ickr.com/photos/auntylaurie/2486555769/sizes/l/
Thursday 25 March 2010

Stubborn guys from operations

Thursday 25 March 2010

Typical chain of command

http://www.ickr.com/photos/keepwaddling1/3088388506/sizes/l/
Thursday 25 March 2010

Ops and Sysadmins usually get along

http://www.ickr.com/photos/anjibarton/3115066604/sizes/l/
Thursday 25 March 2010

But devs and sysadmins often debate about quality

http://www.ickr.com/photos/charles_nouyrit/3102079345/sizes/o/
Thursday 25 March 2010

Devs:You should be able to make changes faster in production

http://www.ickr.com/photos/poenaru/1304953088/sizes/o/

Thursday 25 March 2010

Sysadmins: You should Test More

http://www.ickr.com/photos/cenz/15108117/sizes/o/
Thursday 25 March 2010

Usually results in ....

Fight!

http://www.ickr.com/photos/timmygunz/213619310/sizes/l/

Thursday 25 March 2010

Then the managers created silos

http://www.ickr.com/photos/bulldogsrule/35701005/sizes/o/
Thursday 25 March 2010

Now only some deploys get through

http://www.ickr.com/photos/elsie/3577264876/sizes/l/
Thursday 25 March 2010

But over time developers evolved

Thursday 25 March 2010

They looked on the internet

http://www.ickr.com/photos/gigijin/2400999295/sizes/o/
Thursday 25 March 2010

Found new ways to automate the tests TDD, BDD

http://www.ickr.com/photos/dvorscak/498914813/sizes/l/

Thursday 25 March 2010

New ways of automating delivery

http://www.ickr.com/photos/eiriknewth/282275178/sizes/l/
Thursday 25 March 2010

Solved their focus problem

Thursday 25 March 2010

Kept operations on a leash

http://www.ickr.com/photos/squeakywheel/264379350/

Thursday 25 March 2010

And what about the sysadmins?

http://www.ickr.com/photos/24443965@N08/2893354732/sizes/o/

Thursday 25 March 2010

Whenever a customer wanted some new server

http://www.ickr.com/photos/31525296@N06/2951515346/sizes/o/

Thursday 25 March 2010

They would go off and do their manual installs

http://www.ickr.com/photos/maistora/485092742/sizes/l/

Thursday 25 March 2010

Even in terrible conditions

http://www.ickr.com/photos/brianatwebbmoto/3096643650/sizes/l/
Thursday 25 March 2010

Just like their role models

http://www.ickr.com/photos/eelcoc/809648617/sizes/l/ http://www.ickr.com/photos/fmpgoh/4123201107/ http://www.ickr.com/photos/s9500/2490150854/sizes/l/


Thursday 25 March 2010

Then they started to use kickstarts

http://www.ickr.com/photos/alanhogan/3094280494/sizes/o/
Thursday 25 March 2010

Automated it with ugly custom scripting

http://www.ickr.com/photos/donpezzano/2061429048/sizes/o/
Thursday 25 March 2010

cong mgt v1 = Lcfg, CFEngine

http://www.ickr.com/photos/extraketchup/408727662/sizes/o/
Thursday 25 March 2010

Whats a DSL?

http://strongdogz.com/wp-content/uploads/2009/11/dog-1.png Thursday 25 March 2010

Puppet is a DSL for systems administration

http://www.ickr.com/photos/schockwellenreiter/2184781281/sizes/l/

http://reductivelabs.com/products/puppet/
Thursday 25 March 2010

# verify owner & permissions class base_etc { file { "/etc/passwd": owner => root, group => root, mode => 644} file { "/etc/sudoers": owner => root, group => root, mode => 440} } # install apache class apache2 { # using the local package manager, install the reqd pkg package { "apache2": ensure => installed } service { "apache2": ensure => running, hasstatus => true, hasrestart => true, require => Package["apache2"], } } # default node is applied by _all_ connecting puppet clients node default { include base_etc } # specific config for host www01 node www01 { # load the corresponding class defined above include apache2 }
Read more: http://www.agileweboperations.com/conguration-management-introduction-to-puppet/#ixzz0iyVDqF89

Example Puppet Recipe


http://www.ickr.com/photos/paguma/4282178983/

Thursday 25 March 2010

Cong Management is evolving Puppet Chef Sysadmin

http://www.opscode.com/chef/
Thursday 25 March 2010

http://www.ickr.com/photos/pmtorrone/65245861/sizes/l/

Deploy new systems more often, faster and better reproducible

http://www.ickr.com/photos/deannas_pics/3071841122/sizes/l
Thursday 25 March 2010

Models

http://www.ickr.com/photos/keirmoffatt/35306073/sizes/o/

http://www.ickr.com/photos/xjy/2269150356/sizes/o/

convergence making systems similar over time


Thursday 25 March 2010

congruence rebuild the whole node

http://resources.metapress.com/pdf-preview.axd?code=yuce6e26a51dx9nh&size=largest

http://www.infrastructures.org/papers/turing/turing.html

Provisioning Different Environments Dev

Test

Production

http://www.ickr.com/photos/idan586/3570542251/sizes/l/ http://www.ickr.com/photos/richtpt/2173590295/sizes/l/
Thursday 25 March 2010

Becoming agile

http://www.pet-dog-cat-supply-store.com/shop/shop_image/product/ad41a25245cbb895fbfbc950b1a0a3f5.jpg
Thursday 25 March 2010

Cloud for testing conguration systems

http://www.ickr.com/photos/stopbeingcarbon/231737755/sizes/o/

Thursday 25 March 2010

Sysadmins should look at problems from a development perspective

http://www.ickr.com/photos/utherpendragonsphotos/14010402/sizes/o/
Thursday 25 March 2010

Devs should view it from operational point of view

Thursday 25 March 2010

Infrastructure is becoming code

http://www.ickr.com/photos/briandewitt/534143047/sizes/o/
Thursday 25 March 2010

So Im a programmer now?

http://c0424311.cdn.cloudles.rackspacecloud.com/perfect-pet.jpg Thursday 25 March 2010

If youre a programmer, be a good one

http://www.ickr.com/photos/zippy/199990105/sizes/l/
Thursday 25 March 2010

Version your scripts

http://www.ickr.com/photos/thelifeofshannon/385604955/sizes/o/

Thursday 25 March 2010

Use a repository

http://www.ickr.com/photos/jeffreygutermanickr/2674219854/
Thursday 25 March 2010

Testing

http://www.ickr.com/photos/ideonexus/2897085942/sizes/l/
Thursday 25 March 2010

You might like

http://cukes.info/

http://www.ickr.com/photos/the_harry_philes/217927389/sizes/l/
Thursday 25 March 2010

Results

Thursday 25 March 2010

Gherkin

http://www.ickr.com/photos/lawriecate/2543688459/
Thursday 25 March 2010

Validating Apache cong

Thursday 25 March 2010

Mail Scenarios

Test Test

Test

http://github.com/albanpeignier/tryphon-puppet
Thursday 25 March 2010

Mail Step denitions

http://www.ickr.com/photos/sziliotti/3787189858/sizes/o/ Thursday 25 March 2010

Testing will make the pains visible

http://www.ickr.com/photos/-konayuki-/3986635994/sizes/l/
Thursday 25 March 2010

Things will get dirty

http://www.ickr.com/photos/schneelocke/467551426/sizes/l/

Thursday 25 March 2010

It requires a strong stomach to keep it up

http://www.ickr.com/photos/82213449@N00/68608360/sizes/o/ Thursday 25 March 2010

Extra bonus : Cucumber-Nagios

$ cucumber-nagios ukuug.feature critical: 0, warning: 0, 2 okay | passed=2, failed=0

http://auxesis.github.com/cucumber-nagios/
http://www.ickr.com/photos/showbizsuperstar/4033321314/sizes/l/

Thursday 25 March 2010

Keep an overview on your changes

Thursday 25 March 2010

Dont change your infrastructure all at once

http://www.ickr.com/photos/sugarpond/2851411809/sizes/l/ Thursday 25 March 2010

One piece at a time

http://www.ickr.com/photos/lumpy_golightly/3479956609/sizes/l/ Thursday 25 March 2010

Its still a human process

http://www.ickr.com/photos/shehal/2725353884/sizes/l/ Thursday 25 March 2010

Tools help

Story!

http://www.ickr.com/photos/cvr/2914455499/
Thursday 25 March 2010

Hudson facilitates the process


http://hudson-ci.org/

http://www.ickr.com/photos/clofresh/3384877145/
Thursday 25 March 2010

invokes Hudson

Puppet

provisions Puppet manifests = are tested

runs

OS tests

Cucumber
http://www.ickr.com/photos/tupwanders/89267092/sizes/l/
Thursday 25 March 2010

Tools are only a means to an end

http://images0.cafepress.com/product/36081430v1_225x225_Front.jpg Thursday 25 March 2010

Devs and Ops working together

http://www.ickr.com/photos/42614915@N00/104222743/sizes/o/

Thursday 25 March 2010

Ops-Ops working together Network Operating System

Database

Thursday 25 March 2010

Its about the business

http://www.phantompub.com/images/CDPanel_Page_1.jpg Thursday 25 March 2010

Devops: a bit of everything business developers sysadmins

http://www.ickr.com/photos/stephenpoff/2852616498/sizes/l/

Thursday 25 March 2010

http://www.devopsdays.org/ http://planet.devops.info/ http://www.devops.info/ #devops - twitter #infra-talk - irc agile-system-administration - googlegroups


Puppetcamp Europe 2010 : Ghent, Belgium , on 27&28 May, 2010 Devopsdays US: Mountain View, California, US on Friday, June 25, 2010 Devopsdays Europe coming somewhere in October/November
Thursday 25 March 2010

Questions?

http://www.ickr.com/photos/rosslittle/161718033/sizes/l/ Thursday 25 March 2010

Thank you!

Patrick Debois @patrickdebois patrick.debois@jedi.be http://jedi.be/blog Julian Simpson simpsonjulian@gmail.com @builddoctor http://www.build-doctor.com
http://www.ickr.com/photos/caliope-olga/4247576011/sizes/o/ Thursday 25 March 2010

You might also like