SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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.
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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‎
 

Ähnlich wie 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.
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
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
 

Kürzlich hochgeladen (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
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
 

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