• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Ops for everyone - John Britton
 

Ops for everyone - John Britton

on

  • 1,539 views

 

Statistics

Views

Total Views
1,539
Views on SlideShare
1,539
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ops for everyone - John Britton Ops for everyone - John Britton Presentation Transcript

    • 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
    • SHIP
    • /CONFIG
    • /DEPLOY
    • /HOSTS
    • /PUPPET RUN
    • MEASURE
    • /GRAPH ME
    • FUN COMMANDS
    • /WHERE IS
    • /FITBIT ME
    • /NEW HIRE ME
    • /ANIMATE ME
    •  johndbrion