SlideShare a Scribd company logo
1 of 57
Download to read offline
Sometimes Tools Matter




       John E. Vincent
  DevOpsDays Goteborg 2011
We all know about DevOps
We all know about DevOps


     I R DEV!
                I R OPS!
So what's the big deal?
“With XXXXX you are be able to do easily
common task on your local or remote machine.
The aim of XXXXX is to become the unique and
universal tool language that permit you to make
 your own brew, apt-get or yum package, same
          syntax for all your machine.”
Not Puppet                        Not Chef


                   Not Capistrano


   “With XXXXX you are be able to do easily
common task on your local or remote machine.
The aim of XXXXX is to become the unique and
universal tool language that permit you to make
 your own brew, apt-get or yum package, same
          syntax for all your machine.”

                      Not Fabric
                                         Not DeployML
    Not CFengine
YANFT
(yet another f*ing tool)
We're doing something wrong.
    Something is missing.
I'll be over here with Capistrano, kthx




                     You just need to write a Chef recipe and ….
You can't solve cultural issues with tools
You can't solve cultural issues with tools
              or can you?
Some Issues
●   Repository mismatch
●   Different languages
●   Volatile configuration
●   Visibility
●   Sensitive information
●   Testability
●   Packaging
Caveats and Comments
●   No single tool is going to solve all your
    problems – sorry.
●   You may have already heard of some of these
    tools.
●   You will likely have to “mold” some of these
    tools to fit your environment
●   The tool itself is not the point, it is the end result
●   I don't have all the answers...
Impedance mismatches
Sample Shop
●   Operations – Puppet, EC2
●   Development – Maven, Spring
●   War files
●   Spring properties files
●   Metric assloads of XML
●   Database changes
Issues
●   Operations repository isn't application repository
●   Developers need to test locally during development
●   Properties files are artifacts
●   Some settings are environment specific
●   Some settings are “sensitive”
●   How do new settings get in CM?
●   Where do database changes fit?
●   What about the rest of the business?
Know your Enemy
Know your Enemy




           This sandwich kicked my ass.
Know your Enemy




           This sandwich kicked my ass
          because I didn't know my enemy
The competition isn't between “devops”
tools. It's between devops and “shell scripts
             covered in meat sauce”
         (with apologies to @littleidea)
“shell scripts covered in meat sauce” ==
                 inertia
Configuration
Configuration Competition
●   XML files (unless you run bcfg2)
●   Key/Value property files (.ini style files)
●   YAML
●   JSON
●   Hard coded “stuff”
●   My-effing-SQL, Mongo-effing-DB


    All of these things are “simpler” to understand.
Configuration Champions
●   ZooKeeper, Nesoi, Noah
●   Moves volatile configuration outside of application
●   Can be populated by both operations and development*
●   Service discovery
●   No immediate need to learn a new DSL/Language
●   Can still control access*
●   Don't underestimate the power of environment variables
●   You still need “proper” configuration management
Packaging
Packaging Protagonists
●   War files
●   Lein, Maven/Ivy, Rubygems, Agner, CPAN, Pypi
●   RVM
●   Homebrew


    Not always simpler to understand but built into
    the community.
Packaging Princes
●   FPM, brew2deb, fpm-cookery
●   Makes building OS packages “painless”
●   OS packages have value (rollback, versioning,
    validation)
●   Need a single artifact that can be deployed in
    all environments
Development Environments
Development Defeat
●   Windows/OSX for development, Linux/Solaris
    for production
●   QA different than Production
●   Different versions of critical libraries, jars, gems
    whatever
●   Exploded war files vs. Packaged war files


    “Works on my machine”
Development Dreams
●   Vagrant, Veewee, Whirr
●   Provides “production” in a box
●   Developers should be “deploying” locally
●   Operations needs to make modules, manifests,
    cookbooks (whatever) flexible


    This is one of the hardest to accomplish
Visibility
Visibility Villains
●   uptime, *top, iostat, vmstat, sar*
●   ssh
●   tail
●   Host Obsession Disorder


    Remember who the competition is...
Visibility Victors - part 1
●   Statsd, Graphite, Graylog2, Logstash
●   ruby-metrics, codahale metrics for JVM
●   “If it moves, graph it”
●   Disk is “cheap”
●   Dashboards are the bomb. Become one with
    information radiators.
●   Logstash can pipe the shit out of EVERYTHING
●   You don't know what you don't need until you know what
    you have
●   Overcompensate initially (but don't over do it!)
Visibility Victors - part 2
●   Jenkins, Rundeck, MCollective
●   Hosts don't matter, only services
●   Sometimes you still need to get on a specific
    host....to reprovision it.
●   Wrap the access for auditing and accountability
●   DevOps is not about giving root access to
    developers
●   The “myth” of security.
The “other” stuff
Shitty Stuff
●   Manual database migrations
●   Rollbacks
●   The myth of the sensitive
Smart Stuff
●   Flyway, Liquibase, Rails migrations
●   Consider NoSQL/Schema-less stores
●   Roll forward. Never roll back.
●   You can never truly roll back anyway
●   “Sensitive” data is a myth (for some values of
    sensitive)
There is, however, ONE tool that can solve
 almost every technological and cultural
                problem
Just kidding!
  (sort of)
This is the point where you realize I've duped
                     you
You are a tool
You are THE tool
A tale of two tools
This is Kelsey
Kelsey's Problem
●   Operations used Puppet with Cobbler as ENC
●   Application configuration was in ERB templates
    managed by Puppet
●   Cultural issues ruled out development actually
    managing the templates
●   System of Record was Cobbler
Kelsey's Solution
●   Programming motherf**er
●   Learned some Java (in a week)
●   Wrote some classes, built some jars
●   Delivered an XML-RPC library that
    development could use to query Cobbler for
    information
This is Jordan
Jordan's Problem
●   Everyone has their own effing packaging format
●   Distributions suck
●   Debs suck to build
●   RPMS suck moderately less to build
Jordan's Solution
●   Hate Driven Development
●   Wrote FPM (eFfing package manager)
●   Alien done right
●   Converts debs, rpms, pypi, gems, compiled
    directories to native distro package format
Side note: If you ever say “I wonder if
someone has done X” stop at the “I” and go to
          github.com/jordansissel
Real Talk
●   Step outside your comfort zone
●   Be a technologist not a specialist
●   SysAdmins: Learn to write some code.
    Seriously.
●   Developers: Learn the OS. Seriously.
●   Everyone: Stop blaming other people
●   Software can help ease communication but
    only you can prevent forest fires.
Go from this....
and this
to this
Thank You!
Keep in touch!
●   @lusis - twitter
●   lusis – github
●   John Vincent –
    linkedin
●   blog.lusis.org
●   john@lusis.org

More Related Content

What's hot

From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devopsKris Buytaert
 
03/2012 - Popping the gherkin stack
03/2012 - Popping the gherkin stack03/2012 - Popping the gherkin stack
03/2012 - Popping the gherkin stackdaveayan
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?Kris Buytaert
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
"Docker For Polyglots" - Nathan LeClaire - YAPC::Asia 2015
"Docker For Polyglots" - Nathan LeClaire - YAPC::Asia 2015"Docker For Polyglots" - Nathan LeClaire - YAPC::Asia 2015
"Docker For Polyglots" - Nathan LeClaire - YAPC::Asia 2015nathanleclaire
 
Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)Kris Buytaert
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as CodeKris Buytaert
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live DevopsKris Buytaert
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your InfrastructureKris Buytaert
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionKris Buytaert
 
Kotlin Multiplatfom In Action
Kotlin Multiplatfom In ActionKotlin Multiplatfom In Action
Kotlin Multiplatfom In ActionMarko Mitic
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerKris Buytaert
 
Groovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineKris Buytaert
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionRun stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionKris Buytaert
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Opersys inc.
 
Kotlin Multiplatfom In Action
Kotlin Multiplatfom In ActionKotlin Multiplatfom In Action
Kotlin Multiplatfom In ActionMarko Mitic
 
Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Opersys inc.
 

What's hot (18)

From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devops
 
03/2012 - Popping the gherkin stack
03/2012 - Popping the gherkin stack03/2012 - Popping the gherkin stack
03/2012 - Popping the gherkin stack
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
"Docker For Polyglots" - Nathan LeClaire - YAPC::Asia 2015
"Docker For Polyglots" - Nathan LeClaire - YAPC::Asia 2015"Docker For Polyglots" - Nathan LeClaire - YAPC::Asia 2015
"Docker For Polyglots" - Nathan LeClaire - YAPC::Asia 2015
 
Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as Code
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live Devops
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 Edition
 
Kotlin Multiplatfom In Action
Kotlin Multiplatfom In ActionKotlin Multiplatfom In Action
Kotlin Multiplatfom In Action
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack Engineer
 
Groovy there's a docker in my application pipeline
Groovy there's a docker in my application pipelineGroovy there's a docker in my application pipeline
Groovy there's a docker in my application pipeline
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionRun stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 Edition
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
 
Kotlin Multiplatfom In Action
Kotlin Multiplatfom In ActionKotlin Multiplatfom In Action
Kotlin Multiplatfom In Action
 
Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011
 

Viewers also liked

Customers, Content & Experiences - Beyond Random Acts Of Technology
Customers, Content & Experiences - Beyond Random Acts Of TechnologyCustomers, Content & Experiences - Beyond Random Acts Of Technology
Customers, Content & Experiences - Beyond Random Acts Of TechnologyThe Content Advisory
 
Redes socialesparaempresas - Actualizada
Redes socialesparaempresas - ActualizadaRedes socialesparaempresas - Actualizada
Redes socialesparaempresas - ActualizadaAdriana Alban
 
XXIХ International conference devoted to the problems of social Sciences Febr...
XXIХ International conference devoted to the problems of social Sciences Febr...XXIХ International conference devoted to the problems of social Sciences Febr...
XXIХ International conference devoted to the problems of social Sciences Febr...Center for Humanitarian Studies Society
 
Evaluation question 1 notes
Evaluation question 1 notesEvaluation question 1 notes
Evaluation question 1 notesJoel Ryan
 
Evaluation Question 1 - 8288
Evaluation Question 1 - 8288Evaluation Question 1 - 8288
Evaluation Question 1 - 8288aragorn337
 
Evaluation; Question 02
Evaluation; Question 02Evaluation; Question 02
Evaluation; Question 0230040996
 
8 ε2 γιωργοσ ρανια γιωργοσ
8 ε2 γιωργοσ ρανια γιωργοσ8 ε2 γιωργοσ ρανια γιωργοσ
8 ε2 γιωργοσ ρανια γιωργοσpefstathiou
 
Аналіз рівнів реалізуємості технічного потенціалу енергозбереження за енергот...
Аналіз рівнів реалізуємості технічного потенціалу енергозбереження за енергот...Аналіз рівнів реалізуємості технічного потенціалу енергозбереження за енергот...
Аналіз рівнів реалізуємості технічного потенціалу енергозбереження за енергот...Yurii Chernukha
 
3 d pie chart circular puzzle with hole in center pieces 8 stages style 1 pow...
3 d pie chart circular puzzle with hole in center pieces 8 stages style 1 pow...3 d pie chart circular puzzle with hole in center pieces 8 stages style 1 pow...
3 d pie chart circular puzzle with hole in center pieces 8 stages style 1 pow...SlideTeam.net
 
Tools and tips for simplifying startup formation.
Tools and tips for simplifying startup formation.Tools and tips for simplifying startup formation.
Tools and tips for simplifying startup formation.Alex Shoer
 
Slides from Writing for Wikipedia Event
Slides from Writing for Wikipedia EventSlides from Writing for Wikipedia Event
Slides from Writing for Wikipedia EventKristen T
 
12- MMA Forum Argentina 2016 - La televisión conectada - Verne
12- MMA Forum Argentina 2016 - La televisión conectada - Verne12- MMA Forum Argentina 2016 - La televisión conectada - Verne
12- MMA Forum Argentina 2016 - La televisión conectada - VerneMobile Marketing Association
 
ILLICH YNEDT2074
ILLICH YNEDT2074ILLICH YNEDT2074
ILLICH YNEDT2074Ruth Davies
 
Be Aware Webinar - ¿CÓMO RESPONDER A LAS AMENAZAS CRECIENTES DE RANSOMWARE?
Be Aware Webinar - ¿CÓMO RESPONDER A LAS AMENAZAS CRECIENTES DE RANSOMWARE?Be Aware Webinar - ¿CÓMO RESPONDER A LAS AMENAZAS CRECIENTES DE RANSOMWARE?
Be Aware Webinar - ¿CÓMO RESPONDER A LAS AMENAZAS CRECIENTES DE RANSOMWARE?Symantec LATAM
 
Почему я программирую на Perl‎
Почему я программирую на Perl‎Почему я программирую на Perl‎
Почему я программирую на Perl‎Anatoly Sharifulin
 

Viewers also liked (18)

Customers, Content & Experiences - Beyond Random Acts Of Technology
Customers, Content & Experiences - Beyond Random Acts Of TechnologyCustomers, Content & Experiences - Beyond Random Acts Of Technology
Customers, Content & Experiences - Beyond Random Acts Of Technology
 
Tu tecnologia es la mia
Tu tecnologia es la miaTu tecnologia es la mia
Tu tecnologia es la mia
 
Redes socialesparaempresas - Actualizada
Redes socialesparaempresas - ActualizadaRedes socialesparaempresas - Actualizada
Redes socialesparaempresas - Actualizada
 
XXIХ International conference devoted to the problems of social Sciences Febr...
XXIХ International conference devoted to the problems of social Sciences Febr...XXIХ International conference devoted to the problems of social Sciences Febr...
XXIХ International conference devoted to the problems of social Sciences Febr...
 
Int. sistemas compu.
Int. sistemas compu.Int. sistemas compu.
Int. sistemas compu.
 
Evaluation question 1 notes
Evaluation question 1 notesEvaluation question 1 notes
Evaluation question 1 notes
 
Evaluation Question 1 - 8288
Evaluation Question 1 - 8288Evaluation Question 1 - 8288
Evaluation Question 1 - 8288
 
Evaluation; Question 02
Evaluation; Question 02Evaluation; Question 02
Evaluation; Question 02
 
8 ε2 γιωργοσ ρανια γιωργοσ
8 ε2 γιωργοσ ρανια γιωργοσ8 ε2 γιωργοσ ρανια γιωργοσ
8 ε2 γιωργοσ ρανια γιωργοσ
 
Аналіз рівнів реалізуємості технічного потенціалу енергозбереження за енергот...
Аналіз рівнів реалізуємості технічного потенціалу енергозбереження за енергот...Аналіз рівнів реалізуємості технічного потенціалу енергозбереження за енергот...
Аналіз рівнів реалізуємості технічного потенціалу енергозбереження за енергот...
 
JJUG CCC 2014 ATL
JJUG CCC 2014 ATLJJUG CCC 2014 ATL
JJUG CCC 2014 ATL
 
3 d pie chart circular puzzle with hole in center pieces 8 stages style 1 pow...
3 d pie chart circular puzzle with hole in center pieces 8 stages style 1 pow...3 d pie chart circular puzzle with hole in center pieces 8 stages style 1 pow...
3 d pie chart circular puzzle with hole in center pieces 8 stages style 1 pow...
 
Tools and tips for simplifying startup formation.
Tools and tips for simplifying startup formation.Tools and tips for simplifying startup formation.
Tools and tips for simplifying startup formation.
 
Slides from Writing for Wikipedia Event
Slides from Writing for Wikipedia EventSlides from Writing for Wikipedia Event
Slides from Writing for Wikipedia Event
 
12- MMA Forum Argentina 2016 - La televisión conectada - Verne
12- MMA Forum Argentina 2016 - La televisión conectada - Verne12- MMA Forum Argentina 2016 - La televisión conectada - Verne
12- MMA Forum Argentina 2016 - La televisión conectada - Verne
 
ILLICH YNEDT2074
ILLICH YNEDT2074ILLICH YNEDT2074
ILLICH YNEDT2074
 
Be Aware Webinar - ¿CÓMO RESPONDER A LAS AMENAZAS CRECIENTES DE RANSOMWARE?
Be Aware Webinar - ¿CÓMO RESPONDER A LAS AMENAZAS CRECIENTES DE RANSOMWARE?Be Aware Webinar - ¿CÓMO RESPONDER A LAS AMENAZAS CRECIENTES DE RANSOMWARE?
Be Aware Webinar - ¿CÓMO RESPONDER A LAS AMENAZAS CRECIENTES DE RANSOMWARE?
 
Почему я программирую на Perl‎
Почему я программирую на Perl‎Почему я программирую на Perl‎
Почему я программирую на Perl‎
 

Similar to Devopsdays se-2011

Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadaysloadays
 
Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Jérôme Petazzoni
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert NETWAYS
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Kris Buytaert
 
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveOSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveNETWAYS
 
Nightmare on Docker street
Nightmare on Docker streetNightmare on Docker street
Nightmare on Docker streetKris Buytaert
 
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12Puppet
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewiredotCloud
 
Ruby, the language of devops
Ruby, the language of devopsRuby, the language of devops
Ruby, the language of devopsRob Kinyon
 
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConIIAndroid Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConIIOpersys inc.
 
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionIntroduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionJérôme Petazzoni
 
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris BuytaertOSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris BuytaertNETWAYS
 
Another 7 tools for your #devops stack
Another 7 tools for your #devops stackAnother 7 tools for your #devops stack
Another 7 tools for your #devops stackKris Buytaert
 
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay SinghSlash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singhslashn
 
Path dependent-development (PyCon India)
Path dependent-development (PyCon India)Path dependent-development (PyCon India)
Path dependent-development (PyCon India)ncoghlan_dev
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersDocker, Inc.
 

Similar to Devopsdays se-2011 (20)

Puppet managed loadays
Puppet managed loadaysPuppet managed loadays
Puppet managed loadays
 
Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
 
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveOSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
 
Neodev
NeodevNeodev
Neodev
 
Nightmare on Docker street
Nightmare on Docker streetNightmare on Docker street
Nightmare on Docker street
 
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12
 
Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
Headless Android
Headless AndroidHeadless Android
Headless Android
 
Ruby, the language of devops
Ruby, the language of devopsRuby, the language of devops
Ruby, the language of devops
 
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConIIAndroid Variants, Hacks, Tricks and Resources presented at AnDevConII
Android Variants, Hacks, Tricks and Resources presented at AnDevConII
 
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionIntroduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special Edition
 
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris BuytaertOSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
OSDC 2016 - Another 7 Tools for your #devops Stack by Kris Buytaert
 
Another 7 tools for your #devops stack
Another 7 tools for your #devops stackAnother 7 tools for your #devops stack
Another 7 tools for your #devops stack
 
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay SinghSlash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
Slash n: Technical Session 8 - Making Time - minute by minute - Janmejay Singh
 
Path dependent-development (PyCon India)
Path dependent-development (PyCon India)Path dependent-development (PyCon India)
Path dependent-development (PyCon India)
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Devopsdays se-2011

  • 1. Sometimes Tools Matter John E. Vincent DevOpsDays Goteborg 2011
  • 2. We all know about DevOps
  • 3. We all know about DevOps I R DEV! I R OPS!
  • 4. So what's the big deal?
  • 5. “With XXXXX you are be able to do easily common task on your local or remote machine. The aim of XXXXX is to become the unique and universal tool language that permit you to make your own brew, apt-get or yum package, same syntax for all your machine.”
  • 6. Not Puppet Not Chef Not Capistrano “With XXXXX you are be able to do easily common task on your local or remote machine. The aim of XXXXX is to become the unique and universal tool language that permit you to make your own brew, apt-get or yum package, same syntax for all your machine.” Not Fabric Not DeployML Not CFengine
  • 8. We're doing something wrong. Something is missing.
  • 9. I'll be over here with Capistrano, kthx You just need to write a Chef recipe and ….
  • 10. You can't solve cultural issues with tools
  • 11. You can't solve cultural issues with tools or can you?
  • 12. Some Issues ● Repository mismatch ● Different languages ● Volatile configuration ● Visibility ● Sensitive information ● Testability ● Packaging
  • 13. Caveats and Comments ● No single tool is going to solve all your problems – sorry. ● You may have already heard of some of these tools. ● You will likely have to “mold” some of these tools to fit your environment ● The tool itself is not the point, it is the end result ● I don't have all the answers...
  • 15. Sample Shop ● Operations – Puppet, EC2 ● Development – Maven, Spring ● War files ● Spring properties files ● Metric assloads of XML ● Database changes
  • 16. Issues ● Operations repository isn't application repository ● Developers need to test locally during development ● Properties files are artifacts ● Some settings are environment specific ● Some settings are “sensitive” ● How do new settings get in CM? ● Where do database changes fit? ● What about the rest of the business?
  • 18. Know your Enemy This sandwich kicked my ass.
  • 19. Know your Enemy This sandwich kicked my ass because I didn't know my enemy
  • 20. The competition isn't between “devops” tools. It's between devops and “shell scripts covered in meat sauce” (with apologies to @littleidea)
  • 21. “shell scripts covered in meat sauce” == inertia
  • 23. Configuration Competition ● XML files (unless you run bcfg2) ● Key/Value property files (.ini style files) ● YAML ● JSON ● Hard coded “stuff” ● My-effing-SQL, Mongo-effing-DB All of these things are “simpler” to understand.
  • 24. Configuration Champions ● ZooKeeper, Nesoi, Noah ● Moves volatile configuration outside of application ● Can be populated by both operations and development* ● Service discovery ● No immediate need to learn a new DSL/Language ● Can still control access* ● Don't underestimate the power of environment variables ● You still need “proper” configuration management
  • 26. Packaging Protagonists ● War files ● Lein, Maven/Ivy, Rubygems, Agner, CPAN, Pypi ● RVM ● Homebrew Not always simpler to understand but built into the community.
  • 27. Packaging Princes ● FPM, brew2deb, fpm-cookery ● Makes building OS packages “painless” ● OS packages have value (rollback, versioning, validation) ● Need a single artifact that can be deployed in all environments
  • 29. Development Defeat ● Windows/OSX for development, Linux/Solaris for production ● QA different than Production ● Different versions of critical libraries, jars, gems whatever ● Exploded war files vs. Packaged war files “Works on my machine”
  • 30. Development Dreams ● Vagrant, Veewee, Whirr ● Provides “production” in a box ● Developers should be “deploying” locally ● Operations needs to make modules, manifests, cookbooks (whatever) flexible This is one of the hardest to accomplish
  • 32. Visibility Villains ● uptime, *top, iostat, vmstat, sar* ● ssh ● tail ● Host Obsession Disorder Remember who the competition is...
  • 33. Visibility Victors - part 1 ● Statsd, Graphite, Graylog2, Logstash ● ruby-metrics, codahale metrics for JVM ● “If it moves, graph it” ● Disk is “cheap” ● Dashboards are the bomb. Become one with information radiators. ● Logstash can pipe the shit out of EVERYTHING ● You don't know what you don't need until you know what you have ● Overcompensate initially (but don't over do it!)
  • 34. Visibility Victors - part 2 ● Jenkins, Rundeck, MCollective ● Hosts don't matter, only services ● Sometimes you still need to get on a specific host....to reprovision it. ● Wrap the access for auditing and accountability ● DevOps is not about giving root access to developers ● The “myth” of security.
  • 36. Shitty Stuff ● Manual database migrations ● Rollbacks ● The myth of the sensitive
  • 37. Smart Stuff ● Flyway, Liquibase, Rails migrations ● Consider NoSQL/Schema-less stores ● Roll forward. Never roll back. ● You can never truly roll back anyway ● “Sensitive” data is a myth (for some values of sensitive)
  • 38. There is, however, ONE tool that can solve almost every technological and cultural problem
  • 39.
  • 40. Just kidding! (sort of)
  • 41. This is the point where you realize I've duped you
  • 42. You are a tool
  • 43. You are THE tool
  • 44. A tale of two tools
  • 46. Kelsey's Problem ● Operations used Puppet with Cobbler as ENC ● Application configuration was in ERB templates managed by Puppet ● Cultural issues ruled out development actually managing the templates ● System of Record was Cobbler
  • 47. Kelsey's Solution ● Programming motherf**er ● Learned some Java (in a week) ● Wrote some classes, built some jars ● Delivered an XML-RPC library that development could use to query Cobbler for information
  • 49. Jordan's Problem ● Everyone has their own effing packaging format ● Distributions suck ● Debs suck to build ● RPMS suck moderately less to build
  • 50. Jordan's Solution ● Hate Driven Development ● Wrote FPM (eFfing package manager) ● Alien done right ● Converts debs, rpms, pypi, gems, compiled directories to native distro package format
  • 51. Side note: If you ever say “I wonder if someone has done X” stop at the “I” and go to github.com/jordansissel
  • 52. Real Talk ● Step outside your comfort zone ● Be a technologist not a specialist ● SysAdmins: Learn to write some code. Seriously. ● Developers: Learn the OS. Seriously. ● Everyone: Stop blaming other people ● Software can help ease communication but only you can prevent forest fires.
  • 57. Keep in touch! ● @lusis - twitter ● lusis – github ● John Vincent – linkedin ● blog.lusis.org ● john@lusis.org