Ops for everyone - John Britton
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Ops for everyone - John Britton

on

  • 1,716 views

 

Statistics

Views

Total Views
1,716
Views on SlideShare
1,716
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 Presentation Transcript

  • 1. OPS FOR EVERYONE
  • 2.  johndbrion
  • 3. I THOUGHT OPS WAS JUST FOR NECKBEARDS I WAS WRONG
  • 4. FIRST PRINCIPLES:
  • 5. COLLABORATION
  • 6. AUTOMATION
  • 7. EXPERIMENTATION
  • 8. DISTRIBUT-ATION?
  • 9. HOW DO WE DO IT?
  • 10. BOXEN
  • 11. HUBOT
  • 12. BOXEN
  • 13. ELIMINATE FRICTION BOXEN MAKES IT POSSIBLE TO BUILD SOMETHING MEANINGFUL ON DAY ONE
  • 14. DAY ONE
  • 15. INSTALL XCODE COMMAND LINE TOOLS
  • 16. $ curl -s https://example.com/script/boxen.sh > /tmp/ install-boxen; bash /tmp/install-boxen | sh
  • 17.  GRAB A BEVERAGE
  • 18. HOMEBREW, GIT, GCC, .DEV DNS, NGINX, RBENV, RUBY-BUILD, MANY RUBIES, NODENV, MANY NODES, HEROKU TOOLCHAIN, HUB, MYSQL, POSTGRESQL, ELASTICSEARCH, RIAK, JAVA
  • 19. $ boxen github
  • 20. YOU’VE GOT GITHUB, NOW GO WRITE SOME CODE
  • 21. PROJECT MANIFEST
  • 22. 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'     ]   } }
  • 23. PERSONAL MANIFEST
  • 24. 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':
  • 25. 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';
  • 26. 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
  • 27. 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"
  • 28. 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"
  • 29. 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
  • 30. $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 }
  • 31. IT’S JUST PUPPET, FOR YOUR MAC
  • 32. HUBOT
  • 33. SHARE THE TERMINAL HUBOT MAKES IT POSSIBLE TO TEST, SHIP, AND MEASURE EVERYTHING
  • 34. CHATOPS
  • 35. NOBODY CAN SEE WHAT COMMANDS ARE RUN ON THE TERMINAL
  • 36. IT’S HARD FOR NEW HIRES TO FIGURE OUT HOW TO DEPLOY
  • 37. THINK OF CHAT AS A SHARED COMMAND LINE
  • 38. CHATOPS SURFACES OPERATIONS THAT WOULD OTHERWISE BE INVISIBLE
  • 39. NEWCOMERS LEARN BY WATCHING EXPERIENCED USERS
  • 40. TEST
  • 41. /CI BUILD
  • 42. SHIP
  • 43. /CONFIG
  • 44. /DEPLOY
  • 45. /HOSTS
  • 46. /PUPPET RUN
  • 47. MEASURE
  • 48. /GRAPH ME
  • 49. FUN COMMANDS
  • 50. /WHERE IS
  • 51. /FITBIT ME
  • 52. /NEW HIRE ME
  • 53. /ANIMATE ME
  • 54.  johndbrion