SlideShare a Scribd company logo
OPS FOR EVERYONE
 johndbrion
I THOUGHT OPS WAS
JUST FOR NECKBEARDS
I WAS WRONG
FIRST PRINCIPLES:
COLLABORATION
AUTOMATION
EXPERIMENTATION
DISTRIBUT-ATION?
HOW DO WE DO IT?
BOXEN
HUBOT
BOXEN
ELIMINATE FRICTION
BOXEN MAKES IT POSSIBLE TO
BUILD SOMETHING MEANINGFUL
ON DAY ONE
DAY ONE
INSTALL XCODE
COMMAND LINE TOOLS
$ curl -s https://example.com/script/boxen.sh > /tmp/
install-boxen; bash /tmp/install-boxen | sh
 GRAB A BEVERAGE
HOMEBREW, GIT, GCC, .DEV DNS, NGINX,
RBENV, RUBY-BUILD, MANY RUBIES,
NODENV, MANY NODES, HEROKU
TOOLCHAIN, HUB, MYSQL,
POSTGRESQL, ELASTICSEARCH, RIAK,
JAVA
$ boxen github
YOU’VE GOT GITHUB,
NOW GO WRITE SOME CODE
PROJECT
MANIFEST
class projects::education-web {
  github::project { 'education-web':
    dotenv
=> true,
    elasticsearch => true,
    redis
=> true,
    ruby
=> '1.9.3-p231-tcs-github',
    postgresql
=> [
      'education_web_development',
      'education_web_test'
    ]
  }
}
PERSONAL
MANIFEST
class people::johndbritton {
 
# boxen/puppet-osx
include osx::dock::autohide
include osx::dock::clear_dock
include osx::dock::disable
include osx::finder::unhide_library
include osx::global::enable_keyboard_control_access
include osx::software_update
include osx::universal_access::ctrl_mod_zoom
 
# applications
include adium
include caffeine
include chrome
include dropbox
include firefox
include flux
include onepassword
include sequel_pro
include sublime_text_2
include transmission
include vlc
 
package {
'Bartender':
class people::johndbritton {
 
# boxen/puppet-osx
include osx::dock::autohide
include osx::dock::clear_dock
include osx::dock::disable
include osx::finder::unhide_library
include osx::global::enable_keyboard_control_access
include osx::software_update
include osx::universal_access::ctrl_mod_zoom
 
# applications
include adium
include caffeine
include chrome
include dropbox
include firefox
include flux
include onepassword
include sequel_pro
include sublime_text_2
include transmission
include vlc
 
package {
'Bartender':
provider => 'compressed_app',
source
=> 'http://www.macbartender.com/Demo/Bartender.zip';
include
include
include
include
include
include
include

osx::dock::autohide
osx::dock::clear_dock
osx::dock::disable
osx::finder::unhide_library
osx::global::enable_keyboard_control_access
osx::software_update
osx::universal_access::ctrl_mod_zoom

 
# applications
include adium
include caffeine
include chrome
include dropbox
include firefox
include flux
include onepassword
include sequel_pro
include sublime_text_2
include transmission
include vlc
 
package {
'Bartender':
provider => 'compressed_app',
source
=> 'http://www.macbartender.com/Demo/Bartender.zip';
'SublimeText3':
provider => 'appdmg',
source => 'http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%20Build%203047.dmg';
}
 
# homebrew
include
include
include
include
include
include
include
include
include

chrome
dropbox
firefox
flux
onepassword
sequel_pro
sublime_text_2
transmission
vlc

 
package {
'Bartender':
provider => 'compressed_app',
source
=> 'http://www.macbartender.com/Demo/Bartender.zip';
'SublimeText3':
provider => 'appdmg',
source => 'http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%20Build%203047.dmg';
}
 
# homebrew
package {
['grc', 'iftop', 'watch', 'wget']:
}
 
# shell
include zsh
 
$home
$src
$my
$dotfiles

=
=
=
=

"/Users/${::boxen_user}"
"${::boxen_srcdir}"
"${src}/johndbritton"
"${my}/dotfiles"
provider => 'compressed_app',
source
=> 'http://www.macbartender.com/Demo/Bartender.zip';
'SublimeText3':
provider => 'appdmg',
source => 'http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%20Build%203047.dmg';
}
 
# homebrew
package {
['grc', 'iftop', 'watch', 'wget']:
}
 
# shell
include zsh
 
$home
$src
$my
$dotfiles

=
=
=
=

"/Users/${::boxen_user}"
"${::boxen_srcdir}"
"${src}/johndbritton"
"${my}/dotfiles"

 
# oh-my-zsh
repository {
'oh-my-zsh':
source => 'robbyrussell/oh-my-zsh',
path
=> "${src}/robbyrussell/oh-my-zsh",
require => File[$src]
}
 
file { "${home}/.zshrc":
ensure => link,
target => "${dotfiles}/zshrc"
source => 'http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%20Build%203047.dmg';
}
 
# homebrew
package {
['grc', 'iftop', 'watch', 'wget']:
}
 
# shell
include zsh
 
$home
$src
$my
$dotfiles

=
=
=
=

"/Users/${::boxen_user}"
"${::boxen_srcdir}"
"${src}/johndbritton"
"${my}/dotfiles"

 
# oh-my-zsh
repository {
'oh-my-zsh':
source => 'robbyrussell/oh-my-zsh',
path
=> "${src}/robbyrussell/oh-my-zsh",
require => File[$src]
}
 
file { "${home}/.zshrc":
ensure => link,
target => "${dotfiles}/zshrc"
}
 
# github projects
include projects::education-web
$home
$src
$my
$dotfiles

=
=
=
=

"/Users/${::boxen_user}"
"${::boxen_srcdir}"
"${src}/johndbritton"
"${my}/dotfiles"

 
# oh-my-zsh
repository {
'oh-my-zsh':
source => 'robbyrussell/oh-my-zsh',
path
=> "${src}/robbyrussell/oh-my-zsh",
require => File[$src]
}
 
file { "${home}/.zshrc":
ensure => link,
target => "${dotfiles}/zshrc"
}
 
# github projects
include projects::education-web
}
IT’S JUST PUPPET, FOR YOUR MAC
HUBOT
SHARE THE TERMINAL
HUBOT MAKES IT POSSIBLE TO TEST,
SHIP, AND MEASURE EVERYTHING
CHATOPS
NOBODY CAN SEE WHAT COMMANDS
ARE RUN ON THE TERMINAL
IT’S HARD FOR NEW HIRES TO
FIGURE OUT HOW TO DEPLOY
THINK OF CHAT AS A SHARED
COMMAND LINE
CHATOPS SURFACES OPERATIONS
THAT WOULD OTHERWISE BE INVISIBLE
NEWCOMERS LEARN BY
WATCHING EXPERIENCED USERS
TEST
/CI BUILD
Ops for everyone - John Britton
Ops for everyone - John Britton
SHIP
/CONFIG
Ops for everyone - John Britton
Ops for everyone - John Britton
/DEPLOY
Ops for everyone - John Britton
/HOSTS
Ops for everyone - John Britton
/PUPPET RUN
Ops for everyone - John Britton
MEASURE
/GRAPH ME
Ops for everyone - John Britton
Ops for everyone - John Britton
FUN COMMANDS
/WHERE IS
Ops for everyone - John Britton
Ops for everyone - John Britton
/FITBIT ME
Ops for everyone - John Britton
/NEW HIRE ME
Ops for everyone - John Britton
/ANIMATE ME
Ops for everyone - John Britton
 johndbrion

More Related Content

PPTX
Lessons from running potentially malicious code inside Docker containers
PDF
Docker perl build
PDF
Docker for data science
PDF
Using docker for data science - part 2
PDF
Aucklug slides - desktop tips and tricks
PDF
Using python and docker for data science
PPT
Triple Blitz Strike
PDF
Docker @ Data Science Meetup
Lessons from running potentially malicious code inside Docker containers
Docker perl build
Docker for data science
Using docker for data science - part 2
Aucklug slides - desktop tips and tricks
Using python and docker for data science
Triple Blitz Strike
Docker @ Data Science Meetup

What's hot (19)

PDF
AnyMQ, Hippie, and the real-time web
PDF
Docker, c'est bonheur !
KEY
Operation Oriented Web Applications / Yokohama pm7
PDF
Steam Learn: Composer
PDF
DevOps(2) : Vagrant - (MOSG)
PDF
Docker puppetcamp london 2013
PDF
Vagrant - Version control your dev environment
PDF
Configuration Surgery with Augeas
PDF
Shared Object images in Docker: What you need is what you want.
PDF
Lights, Camera, Docker: Streaming Video at DramaFever
PDF
A reviravolta do desenvolvimento web
KEY
Perl: Hate it for the Right Reasons
PDF
Go Mobile with Apache Cordova, Zagreb 2014
PDF
Getting instantly up and running with Docker and Symfony
KEY
PDF
Docker Demo @ IuK Seminar
PDF
Puppet at Opera Sofware - PuppetCamp Oslo 2013
PDF
Ansible - Swiss Army Knife Orchestration
PDF
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
AnyMQ, Hippie, and the real-time web
Docker, c'est bonheur !
Operation Oriented Web Applications / Yokohama pm7
Steam Learn: Composer
DevOps(2) : Vagrant - (MOSG)
Docker puppetcamp london 2013
Vagrant - Version control your dev environment
Configuration Surgery with Augeas
Shared Object images in Docker: What you need is what you want.
Lights, Camera, Docker: Streaming Video at DramaFever
A reviravolta do desenvolvimento web
Perl: Hate it for the Right Reasons
Go Mobile with Apache Cordova, Zagreb 2014
Getting instantly up and running with Docker and Symfony
Docker Demo @ IuK Seminar
Puppet at Opera Sofware - PuppetCamp Oslo 2013
Ansible - Swiss Army Knife Orchestration
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
Ad

Similar to Ops for everyone - John Britton (20)

PDF
Dependencies Managers in C/C++. Using stdcpp 2014
PPTX
Running Docker in Development & Production (#ndcoslo 2015)
PDF
Web development automatisation for fun and profit (Artem Daniliants)
PDF
Conan a C/C++ Package Manager
PDF
Docker, Kubernetes, and Google Cloud
PDF
Front-end tools
PDF
Docker & FieldAware
KEY
Composer
PDF
Create your very own Development Environment with Vagrant and Packer
PPTX
Running Docker in Development & Production (DevSum 2015)
PDF
Gdg cloud taipei ddt meetup #53 buildpack
PDF
Streamline your development environment with docker
PDF
DevOps(4) : Ansible(2) - (MOSG)
PDF
桃園市教育局Docker技術入門與實作
PDF
Boxen: How to Manage an Army of Laptops
PDF
5 Things I Wish I Knew About Gitlab CI
PDF
DPDK in Containers Hands-on Lab
PDF
macos installation automation
PDF
IOS 11 setup with appium latest
PPTX
Jenkins multibranch pipeline workshop sep 2018
Dependencies Managers in C/C++. Using stdcpp 2014
Running Docker in Development & Production (#ndcoslo 2015)
Web development automatisation for fun and profit (Artem Daniliants)
Conan a C/C++ Package Manager
Docker, Kubernetes, and Google Cloud
Front-end tools
Docker & FieldAware
Composer
Create your very own Development Environment with Vagrant and Packer
Running Docker in Development & Production (DevSum 2015)
Gdg cloud taipei ddt meetup #53 buildpack
Streamline your development environment with docker
DevOps(4) : Ansible(2) - (MOSG)
桃園市教育局Docker技術入門與實作
Boxen: How to Manage an Army of Laptops
5 Things I Wish I Knew About Gitlab CI
DPDK in Containers Hands-on Lab
macos installation automation
IOS 11 setup with appium latest
Jenkins multibranch pipeline workshop sep 2018
Ad

More from Devopsdays (20)

PDF
Dev opsdays scriptcode
PDF
Zero to hero - Geoff Webb
PDF
Letting go gavin - Mc Donald
PDF
Dw tpain - Gordon Klok
PDF
Dev ops finishes what agile started - Manfred Moser
PDF
Game of thrones - Jonathan Thorpe
PDF
Heka - Rob Miller
PDF
Gaming dev ops - Eduardo Saito
PDF
From the classroom to the cloud a journey with node.js - Christopher Hogue
PDF
Dev ops at mobify - Kyle Young
PDF
Your business needs devops, so don’t follow - Brian johnson
PDF
Test kitchen 1.0 - Fletcher Nichol
PDF
Living system or build factory - Chris Maxwell
PDF
From vagrant to production - Mark Eijsermans
PDF
Dev ops lessons learned - Michael Collins
PDF
Building for operations - Reinhardt Quelle
PDF
Taking devops to the Next Level - Max Martin
PDF
Sensu intro - Sean Porter
PDF
Effective monitoring with statsd - Alexis lê-quôc
PDF
Being healthy dev and ops in cookpad - Issei Naruta
Dev opsdays scriptcode
Zero to hero - Geoff Webb
Letting go gavin - Mc Donald
Dw tpain - Gordon Klok
Dev ops finishes what agile started - Manfred Moser
Game of thrones - Jonathan Thorpe
Heka - Rob Miller
Gaming dev ops - Eduardo Saito
From the classroom to the cloud a journey with node.js - Christopher Hogue
Dev ops at mobify - Kyle Young
Your business needs devops, so don’t follow - Brian johnson
Test kitchen 1.0 - Fletcher Nichol
Living system or build factory - Chris Maxwell
From vagrant to production - Mark Eijsermans
Dev ops lessons learned - Michael Collins
Building for operations - Reinhardt Quelle
Taking devops to the Next Level - Max Martin
Sensu intro - Sean Porter
Effective monitoring with statsd - Alexis lê-quôc
Being healthy dev and ops in cookpad - Issei Naruta

Recently uploaded (20)

PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation theory and applications.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Understanding_Digital_Forensics_Presentation.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
Teaching material agriculture food technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Encapsulation theory and applications.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Monthly Chronicles - July 2025
CIFDAQ's Market Insight: SEC Turns Pro Crypto
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Modernizing your data center with Dell and AMD
Encapsulation_ Review paper, used for researhc scholars
Understanding_Digital_Forensics_Presentation.pptx
The AUB Centre for AI in Media Proposal.docx
Teaching material agriculture food technology
Chapter 3 Spatial Domain Image Processing.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Dropbox Q2 2025 Financial Results & Investor Presentation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing

Ops for everyone - John Britton