SlideShare a Scribd company logo
Weʼre all developers now

        Julian Simpson




              1
Who are you?


     2
Who am I?

• Recovering Systems Administrator
• Recovering Build Manager
• Occasional blogger

                  3
Whatʼs this talk
        about?
• Developers
• Systems Administrators
• The total failure of us all to get along
• Testing sysadmin stuff

                     4
Where did it all go
    wrong?
Should sysadmin


http://www.flickr.com/photos/montpelier/
• James Gosling invents Java
http://www.flickr.com/photos/worldeconomicforum/
                        8
• James Gosling invents Java
• Microsoft make Windows usable
http://www.flickr.com/photos/kevron/
                   10
• James Gosling invents Java
• Microsoft make Windows usable
• We make developers work on Windows
http://www.flickr.com/photos/bru/
               12
• James Gosling invents Java
• Microsoft make Windows usable
• We make developers work on Windows
• Sysadmins and developers diverge
Dʼoh!
Developers write:

• HTML
• CSS
• Ruby
• SQL
• Javascript
               15
Sysadmins write:

• Puppet
• M4 macro processor
• Bash
• Ruby
• Sendmail.cf
                 16
This guy writes a language




  http://www.flickr.com/photos/33304338@N05/
     http://www.flickr.com/photos/varrqnuht/


So does this guy

                       17
And weʼre all
developers.
• Sysadmins who don’t program are now
  just domain experts

• I’m not sure we need too many of those.
http://www.flickr.com/photos/jm3/




                  20
You guys rule


• You (mostly) develop on Macs


                  21
http://www.flickr.com/photos/mollenborg/




                  22
You guys rule


• You (mostly) develop on Macs
• You have a working deploy tool


                   23
http://www.flickr.com/photos/pheanixphotos/




                    24
You guys rule

• You (mostly) develop on Macs
• You have a working deploy tool
• It even does database migrations

                   25
You guys rule

• You (mostly) develop on Macs
• You have a working deploy tool
• It even does database migrations
• So whatʼs left to talk about?

                   26
Whatʼs left?

• Sharing
• Testing of infrastructure
• Fixing Rubygems

                    27
http://www.flickr.com/photos/ackook/


 Sharing




        28
Itʼs not this

insert CC -licensed howto
Sharing
• Sysadmins used to be stuck with
  vendor OSes

• You would have trouble sharing a shell
  script

• Let alone some of the odd tools that
  weʼve had

• Rise of Linux, Ruby and admin DSLs
  (*cough* *Puppet*) fixes that
                   30
Sharing

• Puppet has modules
• Soon they will have metadata
• Thereʼs beginnings of consensus on
  how to share those

• Letʼs not distribute them as gems

                   31
Puppet Module
               Puppet code




Files that your module distributes


              ERB Templates
Puppet Module
              hook



shared code
Puppet Module
Puppet Modules


• Will soon get metadata
• Need to solve some solved problems
  (.e.g dependencies




                  35
Testing
                But what kind of testing?




http://www.flickr.com/photos/tm-tm/




                           36
Testing

• Monitoring (testing your code at
  runtime)

• Testing your infrastructure
• Testing same before you deploy it

                    37
Monitoring




http://www.flickr.com/photos/mogwai_83/
Monitoring

• some of our tools are beginning to look
  very baroque

• Nagios comes to mind
• Operational testing very different from
  developer testing



                      39
Monitoring
• @auxesis: “continuous integration for
  production apps”

• minus checkout and build phases
• How to use existing cucumber
  features?




                     40
Cucumber Nagios
• http://auxesis.github.com/cucumber-
  nagios/

• Runs your cucumber features
• Outputs Nagios format. Job done.


                   41
Cucumber Love
• Cucumber-nagios now supports testing
  of SSH

• @unixdaemon doing acceptance
  testing for DNS (just avoid some of the
  Ruby DNS resolver libraries)

• @ripienaar test driving deployments
  with cucumber

                   42
Before you go live?


• How do we do unit tests in sysadmin?


                  43
Before you go live?


• How do we do unit tests in sysadmin?
• Validating is a good start.


                  44
45
46
47
Thank you!

                            http://www.build-doctor.com

                           http://twitter.com/builddoctor



This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.0 UK: England & Wales License   .

                                                         48

More Related Content

PPTX
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
PDF
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PDF
Rubyslava debugging with_pry
PDF
Joe Damato
PDF
Micro Talk - Test Your S#!? !
PDF
The Silver Bullet Syndrome by Alexey Vasiliev
PPTX
Scaling Stack Overflow (QCon NYC 2015)
PPTX
WordPress Development Environments
PuppetConf 2016: How Not to Freak Out When You Start Writing Puppet Modules f...
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
Rubyslava debugging with_pry
Joe Damato
Micro Talk - Test Your S#!? !
The Silver Bullet Syndrome by Alexey Vasiliev
Scaling Stack Overflow (QCon NYC 2015)
WordPress Development Environments

What's hot (20)

PDF
[123] quality without qa
PDF
The New Frontend Toolchain
PPTX
Building Open-Source React Components
PDF
Puppet Camp New York 2015: "Safer Puppet" in 4 quick demos (Beginner)
PPTX
Building Open-source React Components
PPTX
Devops With Boxfuse and Shippable
PPTX
A tale of 3 databases
PDF
The Future of System Administration
PPTX
Martin woodward - DevOps habits - part 3 of 4
PDF
Troubleshooting Node.js
PDF
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
PPTX
Testing in Vue.js
PDF
Node.js Anti-Patterns and bad practices
PDF
The Cowardly Test-o-Phobe's Guide To Testing
KEY
Enterprise Strength Mobile JavaScript
PPTX
Azphp phpunit-jenkins
KEY
WTF TDD?
PPTX
ATXPUG Meetup 11/11/14 - Managing complexity in Puppet Code
KEY
The Architect Way
PDF
Unearthed Arcana for Web People
[123] quality without qa
The New Frontend Toolchain
Building Open-Source React Components
Puppet Camp New York 2015: "Safer Puppet" in 4 quick demos (Beginner)
Building Open-source React Components
Devops With Boxfuse and Shippable
A tale of 3 databases
The Future of System Administration
Martin woodward - DevOps habits - part 3 of 4
Troubleshooting Node.js
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
Testing in Vue.js
Node.js Anti-Patterns and bad practices
The Cowardly Test-o-Phobe's Guide To Testing
Enterprise Strength Mobile JavaScript
Azphp phpunit-jenkins
WTF TDD?
ATXPUG Meetup 11/11/14 - Managing complexity in Puppet Code
The Architect Way
Unearthed Arcana for Web People
Ad

Viewers also liked (10)

ZIP
Ci From The Trenches
PDF
OSDC 2010 - You've Got Cucumber in my Java and it Tastes Great
PDF
An Introduction to Behaviour Driven Development with Cucumber Java
PPTX
BDD WITH CUCUMBER AND JAVA
PPT
ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016
PPTX
Cucumber
PPTX
Introduction to Bdd and cucumber
PPTX
Test automation with Cucumber-JVM
PDF
Introduction to BDD with Cucumber for Java
PDF
Behavior Driven Development with Cucumber
Ci From The Trenches
OSDC 2010 - You've Got Cucumber in my Java and it Tastes Great
An Introduction to Behaviour Driven Development with Cucumber Java
BDD WITH CUCUMBER AND JAVA
ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016
Cucumber
Introduction to Bdd and cucumber
Test automation with Cucumber-JVM
Introduction to BDD with Cucumber for Java
Behavior Driven Development with Cucumber
Ad

Similar to Lrug (20)

PPTX
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
PPTX
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
KEY
Get your Project back in Shape!
PDF
OSDC 2013 | Introduction into Chef by Andy Hawkins
KEY
Continuous Integration, the minimum viable product
PDF
Tooling for the JavaScript Era
PDF
Build Your First EE2 Site
PPT
scaling compiled applications - highload 2013
PPTX
Automated Acceptance Testing from Scratch
PPTX
Reviewing CPAN modules
KEY
Rails tools
KEY
Ship It ! with Ruby/ Rails Ecosystem
PPTX
Continuous delivery applied
PDF
Tool up your lamp stack
PDF
Tool Up Your LAMP Stack
PPTX
Continuous delivery applied (DC CI User Group)
PPTX
Continuous delivery applied (RJUG)
PPTX
Jfokus 2016 - A JVMs Journey into Polyglot Runtimes
PDF
Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.
KEY
What is this cloud thing?
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
Get your Project back in Shape!
OSDC 2013 | Introduction into Chef by Andy Hawkins
Continuous Integration, the minimum viable product
Tooling for the JavaScript Era
Build Your First EE2 Site
scaling compiled applications - highload 2013
Automated Acceptance Testing from Scratch
Reviewing CPAN modules
Rails tools
Ship It ! with Ruby/ Rails Ecosystem
Continuous delivery applied
Tool up your lamp stack
Tool Up Your LAMP Stack
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (RJUG)
Jfokus 2016 - A JVMs Journey into Polyglot Runtimes
Updated non-lab version of Level Up. Delivered at LOPSA-East, May 3, 2014.
What is this cloud thing?

Recently uploaded (20)

PPT
What is a Computer? Input Devices /output devices
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
STKI Israel Market Study 2025 version august
PPTX
observCloud-Native Containerability and monitoring.pptx
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Hybrid model detection and classification of lung cancer
PPTX
The various Industrial Revolutions .pptx
What is a Computer? Input Devices /output devices
Programs and apps: productivity, graphics, security and other tools
A novel scalable deep ensemble learning framework for big data classification...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
cloud_computing_Infrastucture_as_cloud_p
Getting started with AI Agents and Multi-Agent Systems
DP Operators-handbook-extract for the Mautical Institute
A contest of sentiment analysis: k-nearest neighbor versus neural network
WOOl fibre morphology and structure.pdf for textiles
Univ-Connecticut-ChatGPT-Presentaion.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Developing a website for English-speaking practice to English as a foreign la...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Zenith AI: Advanced Artificial Intelligence
STKI Israel Market Study 2025 version august
observCloud-Native Containerability and monitoring.pptx
O2C Customer Invoices to Receipt V15A.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Hybrid model detection and classification of lung cancer
The various Industrial Revolutions .pptx

Lrug

Editor's Notes

  • #31: CVSup is written in Modula-3! eek!