SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Flying at the Speed of Git
Alex Holtz, Senior Engineer
Orbitz Worldwide Brands

18M Visitors / mo.

$11.5B Bookings

1,500 Employees

140+ Countries

16 Languages
Orbitz operates Worldwide

Hundreds of developers in offices globally
Chicago, London, India, Sydney, Argentina

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

Your
VCS

Git

6
It’s a lot more like this!

1:

Migration:
Easier than you think

2:

All about choosing the right tools

3:

Fast
Orbitz’ Source Control History

50 dev teams

CVS
2000-2006

Commercial
VCS

Git
2012+

2006-2012

597
repositories
8
Why Switch?

Not using
Git...
...is
slowing
us down
9
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
Where Do You Start?

“Git in the Enterprise: Not Just Git”

Gitorious

11
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
How We Switched

Champions built new tools and were early adopters

Existing VCS

Release
Scripts

Git

Dependency Resolution
and
Artifact Repository

Jenkins

13
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
Training

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

Videos

15
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
597 Repositories in a Proprietary System

Over 100 GB
Closed
180
Deprecated
88

Migrated
329

= 20 GB in Git

17
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
Costs

A mere 2500 man hours
Decreased license costs will
pay for the entire migration in
less than a year.

19
Improvements Already Demonstrated

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

Self-service
20
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
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
How Stash Approaches Storage for Forks

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

Parent

Fork B

---

---

Fork A
---

---

---

---

---

---

---

---

---

---

---

---

---

---

---

23
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
In the Last Year...

because of

Stash Hooks:
Automated SOX controls
Automated deployments

25
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

Contenu connexe

Tendances

Thomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLabThomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLabMatan Keidar
 
2015 09-02 - transaction log prototype
2015 09-02 - transaction log prototype2015 09-02 - transaction log prototype
2015 09-02 - transaction log prototypeDavid Heath
 
Accelerate your business and reduce cost with OpenStack
Accelerate your business and reduce cost with OpenStackAccelerate your business and reduce cost with OpenStack
Accelerate your business and reduce cost with OpenStackOpsta
 
What's New in GitLab and Software Development Trends
What's New in GitLab and Software Development TrendsWhat's New in GitLab and Software Development Trends
What's New in GitLab and Software Development TrendsNoa Harel
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Noa Harel
 
Henrique Rodrigues (NotOnTheHighStreet.com) - Building a Future-Proof Infrast...
Henrique Rodrigues (NotOnTheHighStreet.com) - Building a Future-Proof Infrast...Henrique Rodrigues (NotOnTheHighStreet.com) - Building a Future-Proof Infrast...
Henrique Rodrigues (NotOnTheHighStreet.com) - Building a Future-Proof Infrast...Outlyer
 
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...Outlyer
 
[Europe merge world tour] Perforce Git Fusion
[Europe   merge world tour] Perforce Git Fusion[Europe   merge world tour] Perforce Git Fusion
[Europe merge world tour] Perforce Git FusionPerforce
 
Tracking Huge Files with Git LFS
Tracking Huge Files with Git LFSTracking Huge Files with Git LFS
Tracking Huge Files with Git LFSAtlassian
 
Delivering Rich Content Applications at Scale with Nuxeo & MongoDB Atlas
Delivering Rich Content Applications at Scale with Nuxeo & MongoDB AtlasDelivering Rich Content Applications at Scale with Nuxeo & MongoDB Atlas
Delivering Rich Content Applications at Scale with Nuxeo & MongoDB AtlasNuxeo
 
GitLab for CI/CD process
GitLab for CI/CD processGitLab for CI/CD process
GitLab for CI/CD processHYS Enterprise
 
容器革命的「利」與「必」
容器革命的「利」與「必」容器革命的「利」與「必」
容器革命的「利」與「必」Alfie Chen
 
JJUG CCC 2018 : Lessons Learned: Spring Cloud -> Docker -> Kubernetes
JJUG CCC 2018 : Lessons Learned: Spring Cloud ->  Docker -> KubernetesJJUG CCC 2018 : Lessons Learned: Spring Cloud ->  Docker -> Kubernetes
JJUG CCC 2018 : Lessons Learned: Spring Cloud -> Docker -> KubernetesMauricio (Salaboy) Salatino
 
Nuxeo Live Connect & Connector to Salesforce
Nuxeo Live Connect & Connector to SalesforceNuxeo Live Connect & Connector to Salesforce
Nuxeo Live Connect & Connector to SalesforceNuxeo
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open SourceAll Things Open
 
How to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issuesHow to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issuesLuca Milanesio
 
Introduction to Kubernetes and GKE
Introduction to Kubernetes and GKEIntroduction to Kubernetes and GKE
Introduction to Kubernetes and GKEOpsta
 

Tendances (20)

Thomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLabThomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLab
 
2015 09-02 - transaction log prototype
2015 09-02 - transaction log prototype2015 09-02 - transaction log prototype
2015 09-02 - transaction log prototype
 
Accelerate your business and reduce cost with OpenStack
Accelerate your business and reduce cost with OpenStackAccelerate your business and reduce cost with OpenStack
Accelerate your business and reduce cost with OpenStack
 
What's New in GitLab and Software Development Trends
What's New in GitLab and Software Development TrendsWhat's New in GitLab and Software Development Trends
What's New in GitLab and Software Development Trends
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 
Henrique Rodrigues (NotOnTheHighStreet.com) - Building a Future-Proof Infrast...
Henrique Rodrigues (NotOnTheHighStreet.com) - Building a Future-Proof Infrast...Henrique Rodrigues (NotOnTheHighStreet.com) - Building a Future-Proof Infrast...
Henrique Rodrigues (NotOnTheHighStreet.com) - Building a Future-Proof Infrast...
 
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
 
Keptn Meetup Interoperable ci/cd ecosystem
Keptn Meetup Interoperable ci/cd ecosystemKeptn Meetup Interoperable ci/cd ecosystem
Keptn Meetup Interoperable ci/cd ecosystem
 
[Europe merge world tour] Perforce Git Fusion
[Europe   merge world tour] Perforce Git Fusion[Europe   merge world tour] Perforce Git Fusion
[Europe merge world tour] Perforce Git Fusion
 
Tracking Huge Files with Git LFS
Tracking Huge Files with Git LFSTracking Huge Files with Git LFS
Tracking Huge Files with Git LFS
 
Delivering Rich Content Applications at Scale with Nuxeo & MongoDB Atlas
Delivering Rich Content Applications at Scale with Nuxeo & MongoDB AtlasDelivering Rich Content Applications at Scale with Nuxeo & MongoDB Atlas
Delivering Rich Content Applications at Scale with Nuxeo & MongoDB Atlas
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
GitLab for CI/CD process
GitLab for CI/CD processGitLab for CI/CD process
GitLab for CI/CD process
 
容器革命的「利」與「必」
容器革命的「利」與「必」容器革命的「利」與「必」
容器革命的「利」與「必」
 
JJUG CCC 2018 : Lessons Learned: Spring Cloud -> Docker -> Kubernetes
JJUG CCC 2018 : Lessons Learned: Spring Cloud ->  Docker -> KubernetesJJUG CCC 2018 : Lessons Learned: Spring Cloud ->  Docker -> Kubernetes
JJUG CCC 2018 : Lessons Learned: Spring Cloud -> Docker -> Kubernetes
 
Nuxeo Live Connect & Connector to Salesforce
Nuxeo Live Connect & Connector to SalesforceNuxeo Live Connect & Connector to Salesforce
Nuxeo Live Connect & Connector to Salesforce
 
Netflix Architecture and Open Source
Netflix Architecture and Open SourceNetflix Architecture and Open Source
Netflix Architecture and Open Source
 
Cloud Native Java in Kubernetes
Cloud Native Java in KubernetesCloud Native Java in Kubernetes
Cloud Native Java in Kubernetes
 
How to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issuesHow to keep Jenkins logs forever without performance issues
How to keep Jenkins logs forever without performance issues
 
Introduction to Kubernetes and GKE
Introduction to Kubernetes and GKEIntroduction to Kubernetes and GKE
Introduction to Kubernetes and GKE
 

Similaire à How Orbitz Migrated 597 Repositories to Git in Just 11 Months

Iot meets Serverless
Iot meets ServerlessIot meets Serverless
Iot meets ServerlessNarendran R
 
Yannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowYannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowMarynaHoldaieva
 
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...Lviv Startup Club
 
TechWiseTV Workshop: Cisco Developer Program
TechWiseTV Workshop: Cisco Developer ProgramTechWiseTV Workshop: Cisco Developer Program
TechWiseTV Workshop: Cisco Developer ProgramRobb Boyd
 
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018Cedric Vidal
 
Building a dev pipeline using GitHub Actions, Node.js, and AWS ECS Fargate
Building a dev pipeline using GitHub Actions, Node.js, and AWS ECS FargateBuilding a dev pipeline using GitHub Actions, Node.js, and AWS ECS Fargate
Building a dev pipeline using GitHub Actions, Node.js, and AWS ECS Fargatedatree
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...Weaveworks
 
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Gary Arora
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteWeaveworks
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewForgeRock
 
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...DevOpsDays Tel Aviv
 
Automation in iOS development
Automation in iOS developmentAutomation in iOS development
Automation in iOS developmentCong Nguyen
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing selfChen-Tien Tsai
 
Whether you should migrate to git
Whether you should migrate to gitWhether you should migrate to git
Whether you should migrate to gitAmit Anand
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudiMasters
 
Growing up fast: Kubernetes and Real-Time Analytic Applications
Growing up fast: Kubernetes and Real-Time Analytic ApplicationsGrowing up fast: Kubernetes and Real-Time Analytic Applications
Growing up fast: Kubernetes and Real-Time Analytic ApplicationsDoKC
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Gibran Badrulzaman
 
Introducing TiDB Operator
Introducing TiDB OperatorIntroducing TiDB Operator
Introducing TiDB OperatorKevin Xu
 

Similaire à How Orbitz Migrated 597 Repositories to Git in Just 11 Months (20)

Iot meets Serverless
Iot meets ServerlessIot meets Serverless
Iot meets Serverless
 
Yannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflowYannis Zarkadas. Enterprise data science workflows on kubeflow
Yannis Zarkadas. Enterprise data science workflows on kubeflow
 
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
Yannis Zarkadas. Stefano Fioravanzo. Enterprise data science workflows on kub...
 
Webinar : SVN to GIT Migration
Webinar : SVN to GIT Migration Webinar : SVN to GIT Migration
Webinar : SVN to GIT Migration
 
TechWiseTV Workshop: Cisco Developer Program
TechWiseTV Workshop: Cisco Developer ProgramTechWiseTV Workshop: Cisco Developer Program
TechWiseTV Workshop: Cisco Developer Program
 
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
 
Building a dev pipeline using GitHub Actions, Node.js, and AWS ECS Fargate
Building a dev pipeline using GitHub Actions, Node.js, and AWS ECS FargateBuilding a dev pipeline using GitHub Actions, Node.js, and AWS ECS Fargate
Building a dev pipeline using GitHub Actions, Node.js, and AWS ECS Fargate
 
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ... Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
Cloud Native Transformation (Alexis Richardson) - Continuous Lifecycle 2018 ...
 
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
Developing the Stratoscale System at Scale - Muli Ben-Yehuda, Stratoscale - D...
 
Automation in iOS development
Automation in iOS developmentAutomation in iOS development
Automation in iOS development
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing self
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Whether you should migrate to git
Whether you should migrate to gitWhether you should migrate to git
Whether you should migrate to git
 
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloudInterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
InterCon 2016 - SLA vs Agilidade: uso de microserviços e monitoramento de cloud
 
Growing up fast: Kubernetes and Real-Time Analytic Applications
Growing up fast: Kubernetes and Real-Time Analytic ApplicationsGrowing up fast: Kubernetes and Real-Time Analytic Applications
Growing up fast: Kubernetes and Real-Time Analytic Applications
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
 
Introducing TiDB Operator
Introducing TiDB OperatorIntroducing TiDB Operator
Introducing TiDB Operator
 

Plus de colleenfry

The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers colleenfry
 
The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers colleenfry
 
The 7 habits of high successful atlassian marketplace developers by dave meyer
The 7 habits of high successful atlassian marketplace developers   by dave meyerThe 7 habits of high successful atlassian marketplace developers   by dave meyer
The 7 habits of high successful atlassian marketplace developers by dave meyercolleenfry
 
AtlasCamp 2013: Scratch your own itch
AtlasCamp 2013: Scratch your own itch AtlasCamp 2013: Scratch your own itch
AtlasCamp 2013: Scratch your own itch colleenfry
 
AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: Bring your own Stack AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: Bring your own Stack colleenfry
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandAtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandcolleenfry
 
AtlasCamp 2013: Keynote
AtlasCamp 2013: Keynote AtlasCamp 2013: Keynote
AtlasCamp 2013: Keynote colleenfry
 
AtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patternsAtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patternscolleenfry
 
AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Modernizing your Plugin UI AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Modernizing your Plugin UI colleenfry
 
AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence Blueprints AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence Blueprints colleenfry
 
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing colleenfry
 
AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: Confluence State of the Union AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: Confluence State of the Union colleenfry
 
AtlasCamp 2013: ADG / Lean UX
AtlasCamp 2013: ADG / Lean UXAtlasCamp 2013: ADG / Lean UX
AtlasCamp 2013: ADG / Lean UXcolleenfry
 
Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union colleenfry
 
Atlassian: More Awesome with Add-ons
Atlassian: More Awesome with Add-onsAtlassian: More Awesome with Add-ons
Atlassian: More Awesome with Add-onscolleenfry
 
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...colleenfry
 
True Git: The Great Migration
True Git: The Great MigrationTrue Git: The Great Migration
True Git: The Great Migrationcolleenfry
 
Adopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops GroupAdopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops Groupcolleenfry
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1colleenfry
 

Plus de colleenfry (20)

The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers
 
True Git
True Git True Git
True Git
 
The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers
 
The 7 habits of high successful atlassian marketplace developers by dave meyer
The 7 habits of high successful atlassian marketplace developers   by dave meyerThe 7 habits of high successful atlassian marketplace developers   by dave meyer
The 7 habits of high successful atlassian marketplace developers by dave meyer
 
AtlasCamp 2013: Scratch your own itch
AtlasCamp 2013: Scratch your own itch AtlasCamp 2013: Scratch your own itch
AtlasCamp 2013: Scratch your own itch
 
AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: Bring your own Stack AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: Bring your own Stack
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandAtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
 
AtlasCamp 2013: Keynote
AtlasCamp 2013: Keynote AtlasCamp 2013: Keynote
AtlasCamp 2013: Keynote
 
AtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patternsAtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patterns
 
AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Modernizing your Plugin UI AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Modernizing your Plugin UI
 
AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence Blueprints AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence Blueprints
 
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
 
AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: Confluence State of the Union AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: Confluence State of the Union
 
AtlasCamp 2013: ADG / Lean UX
AtlasCamp 2013: ADG / Lean UXAtlasCamp 2013: ADG / Lean UX
AtlasCamp 2013: ADG / Lean UX
 
Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union
 
Atlassian: More Awesome with Add-ons
Atlassian: More Awesome with Add-onsAtlassian: More Awesome with Add-ons
Atlassian: More Awesome with Add-ons
 
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
 
True Git: The Great Migration
True Git: The Great MigrationTrue Git: The Great Migration
True Git: The Great Migration
 
Adopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops GroupAdopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops Group
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1
 

Dernier

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Dernier (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

How Orbitz Migrated 597 Repositories to Git in Just 11 Months

  • 1. Flying at the Speed of Git Alex Holtz, Senior Engineer
  • 2. Orbitz Worldwide Brands 18M Visitors / mo. $11.5B Bookings 1,500 Employees 140+ Countries 16 Languages
  • 3. Orbitz operates Worldwide Hundreds of developers in offices globally Chicago, London, India, Sydney, Argentina 3
  • 4.
  • 5.
  • 6. The prospect of switching to Git doesn’t need to feel like this! Your VCS Git 6
  • 7. It’s a lot more like this! 1: Migration: Easier than you think 2: All about choosing the right tools 3: Fast
  • 8. Orbitz’ Source Control History 50 dev teams CVS 2000-2006 Commercial VCS Git 2012+ 2006-2012 597 repositories 8
  • 10. 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
  • 11. Where Do You Start? “Git in the Enterprise: Not Just Git” Gitorious 11
  • 12. 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
  • 13. How We Switched Champions built new tools and were early adopters Existing VCS Release Scripts Git Dependency Resolution and Artifact Repository Jenkins 13
  • 14. 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
  • 15. Training We held training, not on Git, but Git at Orbitz Videos 15
  • 16. 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
  • 17. 597 Repositories in a Proprietary System Over 100 GB Closed 180 Deprecated 88 Migrated 329 = 20 GB in Git 17
  • 18. 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
  • 19. Costs A mere 2500 man hours Decreased license costs will pay for the entire migration in less than a year. 19
  • 20. Improvements Already Demonstrated 20% Faster Builds Remote teams are saying: “Amazing performance improvement...” “...how did we pull this off so quickly?” Self-service 20
  • 21. 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
  • 22. 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
  • 23. How Stash Approaches Storage for Forks Stash uses “Git Alternates” to share object space between repos Parent Fork B --- --- Fork A --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 23
  • 24. 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
  • 25. In the Last Year... because of Stash Hooks: Automated SOX controls Automated deployments 25
  • 26. 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