Slide 1

Slide 1 text

Enterprise Br I Monday, April 23, 12 The story of github’s enterprise product

Slide 2

Slide 2 text

Enterprise L ’ F , ’ w r Monday, April 23, 12 It has weird connotations Software generally gets delivered once a quarter You often have to work with bugs until the next release

Slide 3

Slide 3 text

SaaS Software R P r Monday, April 23, 12 Variety of reasons, consumers buy software that’s hosted online

Slide 4

Slide 4 text

Quickly D v r V Monday, April 23, 12 New Features Bugfixes

Slide 5

Slide 5 text

Sane Pricing N P r Or r R q r Monday, April 23, 12 Month to Month Billing Self service instead of long sales negotiations If you don’t like it, you can move off to another service(normally)

Slide 6

Slide 6 text

Enterprise W f w r S S? Monday, April 23, 12 Philosophy Technology Process

Slide 7

Slide 7 text

My name is H , C r D Monday, April 23, 12

Slide 8

Slide 8 text

@atmos Tw r Monday, April 23, 12

Slide 9

Slide 9 text

On The Web . r Monday, April 23, 12

Slide 10

Slide 10 text

GitHub.com I w r Monday, April 23, 12

Slide 11

Slide 11 text

Collaboration S w r S Monday, April 23, 12 Make it easier to work on software together Discussions around changes

Slide 12

Slide 12 text

1.5 Million U r Monday, April 23, 12 A lot of those users love us All without taking any investment

Slide 13

Slide 13 text

Problems Monday, April 23, 12 Everyone can’t use github.com, this makes me sad Some people won’t or can’t trust the SaaS model

Slide 14

Slide 14 text

Who Can’t r ? Monday, April 23, 12 a lot of cases are banks, government, fortune 500 companies organizational structure can lead to this extremely rigid security concerns

Slide 15

Slide 15 text

Trust v r b r r Monday, April 23, 12 sometimes there’s legal reasons for this sometimes it’s a comfort level that people have organization’s source code is a huge deal

Slide 16

Slide 16 text

Enterprise? W A Monday, April 23, 12 a lot of SaaS companies disagree with this approach give users the best products regardless of environment software development goes on all over the place

Slide 17

Slide 17 text

Money W ’r b , Monday, April 23, 12 if we can make money off of this, let’s investigate it .com makes a lot of money but what if we were

Slide 18

Slide 18 text

History A b f Monday, April 23, 12 It’s taken us a while to streamline everything so it’s not so painful

Slide 19

Slide 19 text

GitHub:FI r w I Monday, April 23, 12 June of 2009 we launched Firewall Install This shipped as a subset of overall github.com functionality

Slide 20

Slide 20 text

BitRock P D Monday, April 23, 12 Bundle up github.com as an installer people could run

Slide 21

Slide 21 text

JRuby R E v r Monday, April 23, 12 Deploying on JRuby allowed us to ship java class files This kept our code safe from people reading it and doing things with it

Slide 22

Slide 22 text

Drawbacks T r ’ ffi Monday, April 23, 12 Cutting a release was complicated, there was no test suite People didn’t understand what FI actually meant JRuby doesn’t work the same way github.com ruby runtime does

Slide 23

Slide 23 text

Drawbacks T r ’ r ffi Monday, April 23, 12 new features were cherry picked into FI the codebase started diverging

Slide 24

Slide 24 text

Drawbacks P Pr b Monday, April 23, 12 1 developer supporting customers, keeping up with 6 developers on .com Technical guys doing multi-month enterprise sales, they loathed it Quick release cycle we had on .com wasn’t there

Slide 25

Slide 25 text

Let’s Kill it w ? Monday, April 23, 12 some employees wanted to kill it off, they thought it wasn’t worth our effort we had to support existing installs though, so we kept on working on it we had a bad feeling about it, so we started rethinking things.

Slide 26

Slide 26 text

A New Hope L ’ R Monday, April 23, 12 A year later we were still selling FI We now have 18 employees and still only 1 developer on FI We did have a dedicated sales person at this point

Slide 27

Slide 27 text

Enter Chef fr Monday, April 23, 12 the FI dev started moving away from bitrock to chef this had a wonderful cascading effect on the entire project

Slide 28

Slide 28 text

JRuby? w ? Monday, April 23, 12 jruby complicated things because it behaves differently than .com the class files were great but it complicated keeping things up to date what if we shipped on MRI, the more traditional version of ruby

Slide 29

Slide 29 text

Unification v b Monday, April 23, 12 Found roughly 10k line code differences We started chipping away at combining them We started observing the important differences between the two codebases

Slide 30

Slide 30 text

GitHub:FI r br GitHub:Enterprise Monday, April 23, 12 with the rebranding came a new philosophy about the product

Slide 31

Slide 31 text

New Outlook P w r Monday, April 23, 12 enterprise features shouldn’t negatively impact github.com getting enterprise up and running should be trivial

Slide 32

Slide 32 text

New Outlook H w w w r b r Monday, April 23, 12 everything needs to be well tested on enterprise and github.com differences between github.com and enterprise were done by feature switches cutting releases with bug fixes needs to be smooth too

Slide 33

Slide 33 text

The Tech W r Monday, April 23, 12 almost entirely open source software github.com and enterprise both run on this stack

Slide 34

Slide 34 text

Ruby 1.8.7 REE Monday, April 23, 12

Slide 35

Slide 35 text

Ruby on Rails 2.3.14 Monday, April 23, 12 we’re a ruby on rails application

Slide 36

Slide 36 text

MySQL 5.1 fr P r Monday, April 23, 12 mysql is pretty damn solid for us

Slide 37

Slide 37 text

Redis 1. 2. Monday, April 23, 12 separate servers for different needs one is a big hash table for routing requests to file servers one is used for a variety of things, events and indexes mainly though

Slide 38

Slide 38 text

GPG L M Monday, April 23, 12 we need a way to expire licenses so users renew GPG was a natural fit

Slide 39

Slide 39 text

Ruby Encoder Ob E r Monday, April 23, 12 buys us the same functionality as the java class files did, bytecode and encryption allows us to run on the same ruby runtime as github.com 119 euros, worth every penny

Slide 40

Slide 40 text

.GHP Files G H b P Monday, April 23, 12 packages include enterprise source code and chef recipes to bring a system up to date similar to a war file or an installable bundle

Slide 41

Slide 41 text

Infrastructure W b S S Monday, April 23, 12 github.com runs on 60 physical servers right now. how do we collapse the infrastructure?

Slide 42

Slide 42 text

Huge Growth E r r S r b. Monday, April 23, 12 github.com has a horizontally scalable infrastructure in one organization we can collapse that infrastructure down to one server how do we ensure that server is easy deployments

Slide 43

Slide 43 text

Virtual Machines W A Monday, April 23, 12 Sane setup path for enterprise users, target one linux distribution, ubuntu Deploy all of enterprise to 1 VM

Slide 44

Slide 44 text

OVF O V r F r Monday, April 23, 12 VMware / VirtualBox / IBM Power Chef manages Configurations

Slide 45

Slide 45 text

Cloud Pr R O Monday, April 23, 12 I’d love for people to buy a license and have it spin up on ec2 we’re not working on this.... yet

Slide 46

Slide 46 text

How You Get it M EASY Monday, April 23, 12

Slide 47

Slide 47 text

Signup r r . b. Monday, April 23, 12

Slide 48

Slide 48 text

Trial 45 D f r Fr Monday, April 23, 12

Slide 49

Slide 49 text

Download VM .GHP Monday, April 23, 12

Slide 50

Slide 50 text

Advantages w r Monday, April 23, 12 Support feels out clients during the trial Ensure technical relationships are solid

Slide 51

Slide 51 text

Sales S f Pr Monday, April 23, 12 free sales guys up for big negotiation-heavy sales savvy users can buy enterprise with a credit card if they want

Slide 52

Slide 52 text

Innovation r Monday, April 23, 12 developers working on github.com can build new features, enterprise gets em for free .ghp provides quick and simple upgrade paths

Slide 53

Slide 53 text

Process H r r r Monday, April 23, 12 GitHub.com gets improvements every day we work with support staff to identify issues and fix them we auto-deploy code as soon as our jenkins build turns green

Slide 54

Slide 54 text

Bug Fixes I f Monday, April 23, 12 support staff works with end users to identify the bugs they fix the code and create a pull request one of the github.com developers reviews, comments, fixes, merges

Slide 55

Slide 55 text

Discussions O r P R q Monday, April 23, 12 a pull request is a discussion around a git branch our continuous integration server automatically builds the branch merge into github’s master branch and deploy

Slide 56

Slide 56 text

Shipping I E U r’ H Monday, April 23, 12 merge into github’s master branch and deployed to github.com enterprise cuts a new release of the latest .ghp with the bug fixes enterprise users download the latest .ghp with the bug fixes

Slide 57

Slide 57 text

Winning U Pr Monday, April 23, 12 everyone has to care about all aspects of the product this turns out to be a very powerful thing there’s no organization finger pointing, “oh those enterprise guys are crazy again”

Slide 58

Slide 58 text

Success K Monday, April 23, 12 one codebase to rule them all, git is awesome but diverging codebases are unmaintainable one process where all stakeholders are involved and passionate get bugfixes into end user’s hands as soon as possible.

Slide 59

Slide 59 text

Simplify C r b Monday, April 23, 12 every person in your organization should feel empowered to make users happier

Slide 60

Slide 60 text

Simplify C b r Monday, April 23, 12 work together effectively to discuss bug fixes and features figure out what works best for your organization

Slide 61

Slide 61 text

Simplify D Monday, April 23, 12 automated testing with jenkins is a breeze automate everything, even our .ghp packages are rolled w/ 0 human interaction

Slide 62

Slide 62 text

Profit Monday, April 23, 12 i think that other saas products can do a similar thing be it white labeling or selling on premise version of their software

Slide 63

Slide 63 text

Thanks Monday, April 23, 12