+ All Categories
Home > Technology > Flying at the Speed of Git

Flying at the Speed of Git

Date post: 23-Jan-2015
Category:
Upload: colleenfry
View: 425 times
Download: 2 times
Share this document with a friend
Description:
 
26
Flying at the Speed of Git Alex Holtz, Senior Engineer
Transcript
Page 1: Flying at the Speed of Git

Flying at the Speed of GitAlex Holtz, Senior Engineer

Page 2: Flying at the Speed of Git

$11.5B Bookings 140+ Countries1,500 Employees 16 Languages18M Visitors / mo.

Orbitz Worldwide Brands

Page 3: Flying at the Speed of Git

3

Orbitz operates Worldwide

Hundreds of developers in offices globally

Chicago, London, India, Sydney, Argentina

Page 4: Flying at the Speed of Git
Page 5: Flying at the Speed of Git
Page 6: Flying at the Speed of Git

6

YourVCS Git

The prospect of switching to Git doesn’t need to feel like this!

Page 7: Flying at the Speed of Git

It’s a lot more like this!

Migration:Easier than you think1:

All about choosing the right tools2:Fast3:

Page 8: Flying at the Speed of Git

Orbitz’ Source Control History

8

CVS2000-2006

CommercialVCS

2006-2012

Git2012+

50 dev teams

597 repositories

Page 9: Flying at the Speed of Git

Why Switch?

9

...is slowing us down

Not using Git...

Page 10: Flying at the Speed of Git

Overcoming Inertia

10

Progressive teams Were running Git on their own servers

Git ChampionsGuided the process from start to finish

Internal buzz For Git was high

Git?

Page 11: Flying at the Speed of Git

Where Do You Start?

11

“Git in the Enterprise: Not Just Git”

Gitorious

Page 12: Flying at the Speed of Git

VCS Git

Aug. 2012Oct. 2009

Mar. 2013

Jan. 2011

Importing History to Git

12

Leverage git fast-import for transferring VCS history

http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git

Page 13: Flying at the Speed of Git

How We Switched

13

Git

Existing VCS ReleaseScripts

Dependency Resolutionand

Artifact Repository

Jenkins

Champions built new tools and were early adopters

Page 14: Flying at the Speed of Git

Tools in Orbitz’ Build Chain

14

Interface to Source

Tools for Publishing and

Releasing

Dependencies / Artifacts

Commercial VCS

Git

Proprietary CLIProprietary GUI

Custom Ruby Scripts

Apache,Custom Rails application

CLI, IDEs, SourceTree, many more!

Jenkins (open source)

Artifactory (open source)

Page 15: Flying at the Speed of Git

Training

15

We held training, not on Git, but Git at Orbitz

Videos

Page 16: Flying at the Speed of Git

Approaching the Migration on a Repo-by-repo Basis

16

+ = Good Luck!

...we also helped as needed.

Tools Docs

30 minutes...most of the time.

Page 17: Flying at the Speed of Git

17

597 Repositories in a Proprietary System

Closed180

Deprecated88

Migrated329

Over 100 GB

= 20 GB in Git

Page 18: Flying at the Speed of Git

Timeline

18

Just 11 months from start to finish!

• Sep 2011: Tool evaluation (Gitorious vs. GitHub)

• Mar 2012: Building migration tools and testing

• Jun 2012: Migrations are in full swing,

several teams migrate every week

• Aug 2012: Final repos are migrated and our old

system is now read-only

Page 19: Flying at the Speed of Git

Costs

19

A mere 2500 man hours

Decreased license costs will pay for the entire migration in less than a year.

Page 20: Flying at the Speed of Git

Improvements Already Demonstrated

20

20% Faster BuildsRemote teams are saying: “Amazing performance improvement...”“...how did we pull this off so quickly?”

Self-service

Page 21: Flying at the Speed of Git

DistributedEqual performance regardless of location — internet optional

Cheaper, faster, less administration Thanks to open source and self-service

No more custom integration!Everybody ships new tools with native Git support

Why We Love Git!

21

Page 22: Flying at the Speed of Git

master

dev fork

dev fork

dev fork

dev fork

dev fork

dev fork

200 MB 1200 MB

Things We Wish We had Done Better

22

~400 repositories20 GB

~3000 developer forks80 GB

NFS and Hard Links are not buddies!

Page 23: Flying at the Speed of Git

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

Parent Fork A Fork B

How Stash Approaches Storage for Forks

23

Stash uses “Git Alternates” to share object space between repos

Page 24: Flying at the Speed of Git

Hindsight is 20/20

24

What was easyLocking and moving repos one at a time

What was hard The same process for mega repos and some of our deployment tools were tightly coupled to our VCS

Migrating history Was useful for some, but not as standard process

Page 25: Flying at the Speed of Git

In the Last Year...

25

because of

Stash Hooks: Automated SOX controlsAutomated deployments

Page 26: Flying at the Speed of Git

Text code below to 22333or visit http://bit.ly/15BJhZR

Flying at the Speed of Git

To join this session, send text 136888 to 22333

AWESOME = 44

PRETTY GOOD = 43

NOT BAD = 42

MEH = 41

Rate this Talk


Recommended