Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
unsucking YOUR TEAM’S ENVIRONMENT DEVELOPMENT
Slide 2
Slide 2 text
NO FORKING HOLMAN @ LOST YO QUIT READING THIS SHIT
Slide 3
Slide 3 text
githu
Slide 4
Slide 4 text
WE STARTED WITH one QUEUE
Slide 5
Slide 5 text
THIS QUEUE WORKED SORTA OBJECTS IN, TASK OCCURS
Slide 6
Slide 6 text
OH SHIT BLOCKING OPERATIONS
Slide 7
Slide 7 text
THEN SPLIT INTO 2 QUEUES SEGREGATE BY CATEGORY
Slide 8
Slide 8 text
2 QUEUES, 3x THROUGHPUT EXPONENTIAL GROWTH
Slide 9
Slide 9 text
SATURATED AVAILABILITY EXPERIENCING BOTTLENECKS
Slide 10
Slide 10 text
THIS IS GITHUB’S GODDAMN TOILET SITUATION
Slide 11
Slide 11 text
TWO GENDERED BATHROOMS ZOMG WHY AM I WAITING
Slide 12
Slide 12 text
It’s because of this:
Slide 13
Slide 13 text
GITHUB EMPLOYEES 5 8 2009 2008
Slide 14
Slide 14 text
GITHUB EMPLOYEES 2009 2010 5 8 14 2008
Slide 15
Slide 15 text
GITHUB EMPLOYEES 2009 2010 2011 5 8 14 54 2008
Slide 16
Slide 16 text
GITHUB EMPLOYEES 2008 2009 2010 2011 2012 5 8 14 54 114
Slide 17
Slide 17 text
WE’VE THOUGHT A LOT ABOUT ONBOARDING
Slide 18
Slide 18 text
IT’S NOT JUST TOILET LATENCY ABOUT
Slide 19
Slide 19 text
2.5 YEARS AGO: 1 WEEK TODAY: 20 MINUTES DURATION FROM HIRE TO BOOT (a ) (every a )
Slide 20
Slide 20 text
THINK THROUGH MAKING YOUR ENVIRONMENT SUCK LESS
Slide 21
Slide 21 text
PAIN IS MULTIPLIED ACROSS YOUR WHOLE COMPANY
Slide 22
Slide 22 text
THE APP THE STACK THE DEPLOY T H E C O M P A N Y
Slide 23
Slide 23 text
THE APP THE STACK THE DEPLOY T H E C O M P A N Y
Slide 24
Slide 24 text
I S Y O U R F O U N D A T I O N THE APP
Slide 25
Slide 25 text
remembe : EVERY APP SHOULD HAVE A ONE-LINER INSTALL REALLY.
Slide 26
Slide 26 text
EVEN LARGE PROJECTS CAN HAVE A TUTORIAL-STYLE SCRIPT remembe :
Slide 27
Slide 27 text
THINGS SUCK LESS HOMEBREW FOREMAN RBENV BUNDLER
Slide 28
Slide 28 text
AUTOMATE AUTOMATE AUTOMATE AUTOMATE AUTOMATE AUTOMATE
Slide 29
Slide 29 text
APP BOOTSTRAP
Slide 30
Slide 30 text
BOOTSTRAP REPLICATE-REPO CIBUILD SCRIPT/
Slide 31
Slide 31 text
BOOTSTRAP SCRIPT/ ALL-IN-ONE SCRIPT THAT SETS UP EVERYTHING
Slide 32
Slide 32 text
BOOTSTRAP SCRIPT/ DEPENDENCY CHECKS + MIGRATIONS + BUNDLER ASSET COMPILATION
Slide 33
Slide 33 text
BOOTSTRAP SCRIPT/ S P E E D MD5 CHECKSUM: GEMFILE + ASSETS
Slide 34
Slide 34 text
BOOTSTRAP SCRIPT/ everywhere SCRIPT/SERVER SCRIPT/CONSOLE CI
Slide 35
Slide 35 text
BOOTSTRAP SCRIPT/ DESIGNERS ❤ THIS
Slide 36
Slide 36 text
BOOTSTRAP SCRIPT/ NON-TECHNICALS ❤ THIS
Slide 37
Slide 37 text
BOOTSTRAP SCRIPT/ DEVELOPERS ❤ THIS
Slide 38
Slide 38 text
REPLICATE-REPO SCRIPT/ A SUPPORT SCRIPT THAT LOADS PRODUCTION DATA LOCALLY
Slide 39
Slide 39 text
REPLICATE-REPO SCRIPT/ FLY YOUR PRODUCTION AR ASSOCIATIONS TO YOU IN DEVELOPMENT an rail dhh
Slide 40
Slide 40 text
REPLICATE-REPO SCRIPT/ an rail
Slide 41
Slide 41 text
REPLICATE-REPO SCRIPT/ FOR US, IT’S REPLICATE-REPO REPLICATE-#{OBJECT} BUT IT COULD BE YOUR
Slide 42
Slide 42 text
REPLICATE-REPO SCRIPT/ /RTOMAYKO/REPLICATE HTTP://
Slide 43
Slide 43 text
REPLICATE-REPO SCRIPT/ DUMPS BELONGS_TO & HAS_ONE ASSOCIATIONS
Slide 44
Slide 44 text
REPLICATE-REPO SCRIPT/ $ script/replicate-repo holman/spark CLONES ISSUES, PULL REQUESTS, USERS, GIT DATA, ETC.
Slide 45
Slide 45 text
REPLICATE-REPO SCRIPT/ AUTOMATE AUTOMATE AUTOMATE AUTOMATE AUTOMATE AUTOMATE BORING SUPPORT TASKS
Slide 46
Slide 46 text
CIBUILD SCRIPT/ OUR CONTINUOUS INTEGRATION ENVIRONMENT PREPARATION SCRIPT
Slide 47
Slide 47 text
CIBUILD SCRIPT/ SET ENV VARS + LOAD GC CONFIG + CLEAN WORK DIR BOOTSTRAP
Slide 48
Slide 48 text
CIBUILD SCRIPT/ VERSION CONTROL you TEST ENVIRONMENT
Slide 49
Slide 49 text
USE COMPUTERS TO DO THINGS
Slide 50
Slide 50 text
USE HUMANS TO DRINK WITH
Slide 51
Slide 51 text
USE COMPUTERS TO DO THINGS
Slide 52
Slide 52 text
THE STACK THE APP THE DEPLOY T H E C O M P A N Y
Slide 53
Slide 53 text
{ GROUP PARTICIPATION TIME }
Slide 54
Slide 54 text
EVERYONE LIFT YOUR
Slide 55
Slide 55 text
OKAY NOW SMASH THEM
Slide 56
Slide 56 text
NO?
Slide 57
Slide 57 text
OKAY, MAYBE THEY’RE EXPENSIVE, BUT THEY’RE ALSO A PAIN TO SET UP
Slide 58
Slide 58 text
MACHINES SHOULD BE expendable
Slide 59
Slide 59 text
WE’VE DONE THAT
Slide 60
Slide 60 text
I COULD SMASH THIS LAPTOP
Slide 61
Slide 61 text
JUST KIDDING OMG I’D GET MURDERED
Slide 62
Slide 62 text
AUTOMATED MACHINE SETUP 20 min
Slide 63
Slide 63 text
setu THE
Slide 64
Slide 64 text
FIRST DAY GET A LAPTOP RUN A ONE-LINER HAVE A BEER HACK
Slide 65
Slide 65 text
$ gh-setup project < >
Slide 66
Slide 66 text
DEPENDENCIES PROCESSES + fo 50 SERVICES & APPS
Slide 67
Slide 67 text
APPS DROPBOX HOMEBREW + + CHROME + 1PASSWORD + ETC.
Slide 68
Slide 68 text
DEPENDENCIES MYSQL NODE + + REDIS + POSTGRES RIAK + + RBENV + ETC.
Slide 69
Slide 69 text
+ CONFIG FULL-DISK ENCRYPTION SCREEN LOCKS VPN + ETC.
Slide 70
Slide 70 text
PUPPET
Slide 71
Slide 71 text
AUTO-REPORTING OF ANY FAILURE TO GITHUB ISSUES
Slide 72
Slide 72 text
USE COMPUTERS TO DO THINGS
Slide 73
Slide 73 text
THE DEPLOY THE APP THE STACK T H E C O M P A N Y
Slide 74
Slide 74 text
remembe : DON’T HANDLE YOUR OWN DEPLOYS
Slide 75
Slide 75 text
HUBOT HEAVEN +
Slide 76
Slide 76 text
HUBOT NODE.JS CHAT BOT HUNDREDS OF PLUGINS
Slide 77
Slide 77 text
HUBOT DEPLOY X TO Y
Slide 78
Slide 78 text
HUBOT DEPLOY X TO Y DEPLOY GITHUB TO PRODUCTION DEPLOY GITHUB TO PRODUCTION/FE DEPLOY SMOKE TO FS12,FE1
Slide 79
Slide 79 text
HUBOT DEPLOY X TO Y DEPLOY GITHUB TO PRODUCTION DEPLOY GITHUB TO PRODUCTION/FE DEPLOY SMOKE/HOTFIX TO FS12,FE1
Slide 80
Slide 80 text
HUBOT HEAVEN +
Slide 81
Slide 81 text
HEAVEN CAPISTRANO OR HEROKU SINATRA APP API TO HUBOT RUNS DEPLOYS ON OUR BOXES
Slide 82
Slide 82 text
HEAVEN DEPLOY LOCKING 1. YOU PUSH A BRANCH 2. CI STARTS A BUILD 3. BUILD PASSES 4. YOU DEPLOY BRANCH 5. HEAVEN PREVENTS DEPLOY CONFLICTS 6.YOU MERGE BRANCH 7. HEAVEN UNLOCKS DEPLOYS
Slide 83
Slide 83 text
HUBOT HEAVEN + FLEXIBLE SAFE EASY
Slide 84
Slide 84 text
USE COMPUTERS TO DO THINGS
Slide 85
Slide 85 text
T H E C O M P A N Y THE APP THE STACK THE DEPLOY
Slide 86
Slide 86 text
remembe : TAKE AWAY THE BULLSHIT
Slide 87
Slide 87 text
JUST BEING AN EMPLOYEE ADDS A LOT OF OVERHEAD LOGINS SITES TERMS REPORTS PAYROLL NAMES COMMUNICATION
Slide 88
Slide 88 text
REDUCE IT OAUTH EVERYTHING 50+ INTERNAL APPS UNDER OAUTH
Slide 89
Slide 89 text
REDUCE IT BUILD HELPERS TEAM APP HELPS US COMMUNICATE
Slide 90
Slide 90 text
CLARIFY IT WRITE A GUIDE FIRST-DAY GUIDE TO THE COMPANY
Slide 91
Slide 91 text
CLARIFY IT MAKE IT ACCESSIBLE MONITORS APP AND OFFICE TVS
Slide 92
Slide 92 text
USE COMPUTERS TO BUILD THINGS THAT CAN HELP YOUR ORGANIZATION SCALE TO THE EXTENT THAT NEW HIRES ACCLIMATE WITHOUT A LOT OF STRESS
Slide 93
Slide 93 text
THE APP THE STACK THE DEPLOY T H E C O M P A N Y
Slide 94
Slide 94 text
AUTOMATE EVERYTHING
Slide 95
Slide 95 text
WE HAVE ZERO MANAGERS BECAUSE WE AUTOMATE
Slide 96
Slide 96 text
LONG-TERM BENEFIT WILL ALWAYS OUTWEIGH SHORT-TERM COST
Slide 97
Slide 97 text
THANKS
Slide 98
Slide 98 text
NO FORKING HOLMAN @ LOST YO QUIT READING THIS SHIT ZACHHOLMAN.COM/TALKS