Flying at the Speed of Git

691 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
691
On SlideShare
0
From Embeds
0
Number of Embeds
349
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Flying at the Speed of Git

  1. 1. Flying at the Speed of Git Alex Holtz, Senior Engineer
  2. 2. Orbitz Worldwide Brands 18M Visitors / mo. $11.5B Bookings 1,500 Employees 140+ Countries 16 Languages
  3. 3. Orbitz operates Worldwide Hundreds of developers in offices globally Chicago, London, India, Sydney, Argentina 3
  4. 4. The prospect of switching to Git doesn’t need to feel like this! Your VCS Git 6
  5. 5. It’s a lot more like this! 1: Migration: Easier than you think 2: All about choosing the right tools 3: Fast
  6. 6. Orbitz’ Source Control History 50 dev teams CVS 2000-2006 Commercial VCS Git 2012+ 2006-2012 597 repositories 8
  7. 7. Why Switch? Not using Git... ...is slowing us down 9
  8. 8. Overcoming Inertia Progressive teams Were running Git on their own servers Git? Git Champions Guided the process from start to finish Internal buzz For Git was high 10
  9. 9. Where Do You Start? “Git in the Enterprise: Not Just Git” Gitorious 11
  10. 10. Importing History to Git Leverage git fast-import for transferring VCS history Au VCS .2 g Mar. 12 0 Oct. 2 009 Git 2013 an J . 1 01 2 http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git 12
  11. 11. How We Switched Champions built new tools and were early adopters Existing VCS Release Scripts Git Dependency Resolution and Artifact Repository Jenkins 13
  12. 12. Tools in Orbitz’ Build Chain Interface to Source Tools for Publishing and Releasing Dependencies / Artifacts Commercial VCS Proprietary CLI Proprietary GUI Custom Ruby Scripts Apache, Custom Rails application Git CLI, IDEs, SourceTree, many more! Jenkins (open source) Artifactory (open source) 14
  13. 13. Training We held training, not on Git, but Git at Orbitz Videos 15
  14. 14. Approaching the Migration on a Repo-by-repo Basis 30 minutes = Good Luck! + ...most of the time. Tools Docs ...we also helped as needed. 16
  15. 15. 597 Repositories in a Proprietary System Over 100 GB Closed 180 Deprecated 88 Migrated 329 = 20 GB in Git 17
  16. 16. Timeline • 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 Just 11 months from start to finish! 18
  17. 17. Costs A mere 2500 man hours Decreased license costs will pay for the entire migration in less than a year. 19
  18. 18. Improvements Already Demonstrated 20% Faster Builds Remote teams are saying: “Amazing performance improvement...” “...how did we pull this off so quickly?” Self-service 20
  19. 19. Why We Love Git! Distributed Equal 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 21
  20. 20. Things We Wish We had Done Better NFS and Hard Links are not buddies! dev fork 200 MB ~400 repositories 20 GB dev fork dev fork dev fork master dev fork dev fork 1200 MB ~3000 developer forks 80 GB 22
  21. 21. How Stash Approaches Storage for Forks Stash uses “Git Alternates” to share object space between repos Parent Fork B --- --- Fork A --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 23
  22. 22. Hindsight is 20/20 What was easy Locking 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 24
  23. 23. In the Last Year... because of Stash Hooks: Automated SOX controls Automated deployments 25
  24. 24. Rate this Talk Flying at the Speed of Git Text code below to 22333 or visit http://bit.ly/15BJhZR MEH = 41 NO T BA D = 42 P R ET T Y GO O D = 43 A WES O ME = 44 To join this session, send text 136888 to 22333

×