SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
How to Make Git Scale
Effectively
2© Perforce Software Inc. All Rights Reserved.
What We’re Talking About
1
Git Overview
2
Perforce Technology
3
Solution Mapping
3© Perforce Software Inc. All Rights Reserved.
• Popular
• Local operations can be fast
• Lots of publicly clone-able code
• Distributed
• Great for small projects that
are mostly code files
What’s So Great About Git?
4© Perforce Software Inc. All Rights Reserved.
• Large binaries are problematic
• Repo sprawl
• Mixed-team composition
• Build + CI
• LFS
• Dependencies
• Distance
Git at Large Scale
Perforce Technology
6© Perforce Software Inc. All Rights Reserved.
• New depot type (graph) for storing
tree-based git commits, objects, etc.
• Simple grant-based permission model for
single repos and collections
• Supports many “classic” style p4
commands: sync, edit, submit, merge, etc.
• Includes git-lfs support
• Git users connect to Helix Core Server
(P4D) via Git Connector
• Depot/repo/project management and code
review through Helix TeamHub
What Is Helix4Git?
7© Perforce Software Inc. All Rights Reserved.
• Supports SSH/HTTP(S) authentication
• Authorizations are all handled by central
Helix Core Server (P4D)
• Translates between user’s git pull/push
to depot
• Keeps local cache of native git repo
• Git developers don’t even know it’s there
What Is Git Connector?
8© Perforce Software Inc. All Rights Reserved.
• Git Connector and Helix4Git
have built-in mirroring
• Mirrored Helix4Git repos are
protected from normal commits
• Easily integrates with
Gerrit workflow
• Includes GitHub/GitLab
mirroring capabilities
Mirroring Repos and CI
9© Perforce Software Inc. All Rights Reserved.
• Directly supported in the
Helix4Git repo
• Same local git-lfs configuration
• Stored in archive files on the
Helix Core Server (P4D)
• Fully accessible by p4 clients
(sync and edit)
Git LFS
10© Perforce Software Inc. All Rights Reserved.
• Clients – a view into your
repo data
• Helix Core Server’s clients
are a lot like git shallow
clones
• Client views can span:
• Depots
• Repos
• Depot types (classic,
streams, and graph)
Graph Clients
11© Perforce Software Inc. All Rights Reserved.
Solution Mapping
13© Perforce Software Inc. All Rights Reserved.
CI: 40-80% Faster Builds; 18% Less Storage
All tests performed with shallow clone of Linux kernel on a 1 Gbps link, and four
parallel threads of p4 sync. For WAN test, a 200 ms round-trip latency was added
between client and server.
Sync Linux kernel head
revision over WAN
Sync Linux kernel head
revision over LAN
Resulting sync sizes
0
10
20
30
40
50
Git Clone P4 Sync
796
MB
650
MB
43 (s)
13 (s)
47 (s)
25 (s)
14© Perforce Software Inc. All Rights Reserved.
• Faster build sync times
with parallel sync enabled
• Dedicated build replicas to
reduce master overhead
• Can pull all project
components in single client
• Integration with GitLab,
GitHub, and Gerrit
Build + CI
15© Perforce Software Inc. All Rights Reserved.
• A single Helix4Git depot can
contain all repos for a single
project
• Centralized management of
repos and authorization
• Centralized management of
externally sourced project
components
• Helix TeamHub for
management of projects
Repo Sprawl
16© Perforce Software Inc. All Rights Reserved.
• Keep all assets for your mobile/web
app in a single project in TeamHub
Multi-Repo Example — Helix TeamHub
Open source app
framework code
My mobile app
source code
Graphics for my UI
Dependencies for
Android platform
Project docs
17© Perforce Software Inc. All Rights Reserved.
• Code developers just want to pull
and develop
• Use git local and pull/push to
Helix4Git repo
• Digital asset editors don’t need
to build
• They need to find assets and edit them,
but have it pull-able through LFS
• Build team pulls it all together
• Multiple repos, some external,
controllable inputs to the build system
Mixed-Team Composition
18© Perforce Software Inc. All Rights Reserved.
• Any significant project using git
for VCS is using multiple repos
• Client/server
• Frontend/backend
• Microservices
• Libraries and versions
• Philosophy of component
dev = be backwards/forwards
compatible
Project Dependencies
19© Perforce Software Inc. All Rights Reserved.
20© Perforce Software Inc. All Rights Reserved.
Multi-Repo Merge
21© Perforce Software Inc. All Rights Reserved.
• Helix TeamHub has the only
multi-repo code review in market
• Synchronize atomic commits
across multiple repos
• Keep frontend and backend
changes aligned
• Stop intermittent build failures
• Pre-flight changes to production
Multi-Repo Merge
22© Perforce Software Inc. All Rights Reserved.
• p4 sync is your
best friend
• Custom clients can map
and re-map how you want
• Allows commits that are
fully git-compatible
• Git developers keep using
the tool that makes them
efficient
Large Projects
23© Perforce Software Inc. All Rights Reserved.
• Co-locate Git Connectors
with your teams
• Set up pull-polling to reduce
developer hang time
• Multiple Git Connectors to
spread the load
• Build replica servers to
decrease master load
Geography
24© Perforce Software Inc. All Rights Reserved.
Recap
Problem Solution
Large binaries are problematic LFS/p4 sync
Repo sprawl Centralized commit server + mirroring
Mixed-team composition Git+ LFS + p4 sync
Build Parallel sync, replicas
CI Mirroring
LFS Out-of-the-box support + p4 sync
Dependencies Multi-repo code review + merge
Distance
Inherent Git Connector replication,
federated servers
Questions?
Thanks for attending!
Follow us for news and insights!
Visit www.perforce.com

Contenu connexe

Plus de Perforce

Plus de Perforce (20)

Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis
 
Code Quality Management Best Practices
Code Quality Management Best Practices Code Quality Management Best Practices
Code Quality Management Best Practices
 
Scale Kanban Beyond Team Level
Scale Kanban Beyond Team Level Scale Kanban Beyond Team Level
Scale Kanban Beyond Team Level
 
Revealed: The State of Automotive Software Development in 2019
Revealed: The State of Automotive Software Development in 2019Revealed: The State of Automotive Software Development in 2019
Revealed: The State of Automotive Software Development in 2019
 
Turn by Turn: A Practical Guide To Test Management
Turn by Turn: A Practical Guide To Test Management Turn by Turn: A Practical Guide To Test Management
Turn by Turn: A Practical Guide To Test Management
 
Go Global With Helix Core on AWS
Go Global With Helix Core on AWS Go Global With Helix Core on AWS
Go Global With Helix Core on AWS
 
What's New in Helix QAC 2019.1
What's New in Helix QAC 2019.1What's New in Helix QAC 2019.1
What's New in Helix QAC 2019.1
 
How To Handle Exploding Complexity in Product Development
How To Handle Exploding Complexity in Product DevelopmentHow To Handle Exploding Complexity in Product Development
How To Handle Exploding Complexity in Product Development
 

Dernier

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Dernier (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 

How To Make Git Scale Effectively

  • 1. How to Make Git Scale Effectively
  • 2. 2© Perforce Software Inc. All Rights Reserved. What We’re Talking About 1 Git Overview 2 Perforce Technology 3 Solution Mapping
  • 3. 3© Perforce Software Inc. All Rights Reserved. • Popular • Local operations can be fast • Lots of publicly clone-able code • Distributed • Great for small projects that are mostly code files What’s So Great About Git?
  • 4. 4© Perforce Software Inc. All Rights Reserved. • Large binaries are problematic • Repo sprawl • Mixed-team composition • Build + CI • LFS • Dependencies • Distance Git at Large Scale
  • 6. 6© Perforce Software Inc. All Rights Reserved. • New depot type (graph) for storing tree-based git commits, objects, etc. • Simple grant-based permission model for single repos and collections • Supports many “classic” style p4 commands: sync, edit, submit, merge, etc. • Includes git-lfs support • Git users connect to Helix Core Server (P4D) via Git Connector • Depot/repo/project management and code review through Helix TeamHub What Is Helix4Git?
  • 7. 7© Perforce Software Inc. All Rights Reserved. • Supports SSH/HTTP(S) authentication • Authorizations are all handled by central Helix Core Server (P4D) • Translates between user’s git pull/push to depot • Keeps local cache of native git repo • Git developers don’t even know it’s there What Is Git Connector?
  • 8. 8© Perforce Software Inc. All Rights Reserved. • Git Connector and Helix4Git have built-in mirroring • Mirrored Helix4Git repos are protected from normal commits • Easily integrates with Gerrit workflow • Includes GitHub/GitLab mirroring capabilities Mirroring Repos and CI
  • 9. 9© Perforce Software Inc. All Rights Reserved. • Directly supported in the Helix4Git repo • Same local git-lfs configuration • Stored in archive files on the Helix Core Server (P4D) • Fully accessible by p4 clients (sync and edit) Git LFS
  • 10. 10© Perforce Software Inc. All Rights Reserved. • Clients – a view into your repo data • Helix Core Server’s clients are a lot like git shallow clones • Client views can span: • Depots • Repos • Depot types (classic, streams, and graph) Graph Clients
  • 11. 11© Perforce Software Inc. All Rights Reserved.
  • 13. 13© Perforce Software Inc. All Rights Reserved. CI: 40-80% Faster Builds; 18% Less Storage All tests performed with shallow clone of Linux kernel on a 1 Gbps link, and four parallel threads of p4 sync. For WAN test, a 200 ms round-trip latency was added between client and server. Sync Linux kernel head revision over WAN Sync Linux kernel head revision over LAN Resulting sync sizes 0 10 20 30 40 50 Git Clone P4 Sync 796 MB 650 MB 43 (s) 13 (s) 47 (s) 25 (s)
  • 14. 14© Perforce Software Inc. All Rights Reserved. • Faster build sync times with parallel sync enabled • Dedicated build replicas to reduce master overhead • Can pull all project components in single client • Integration with GitLab, GitHub, and Gerrit Build + CI
  • 15. 15© Perforce Software Inc. All Rights Reserved. • A single Helix4Git depot can contain all repos for a single project • Centralized management of repos and authorization • Centralized management of externally sourced project components • Helix TeamHub for management of projects Repo Sprawl
  • 16. 16© Perforce Software Inc. All Rights Reserved. • Keep all assets for your mobile/web app in a single project in TeamHub Multi-Repo Example — Helix TeamHub Open source app framework code My mobile app source code Graphics for my UI Dependencies for Android platform Project docs
  • 17. 17© Perforce Software Inc. All Rights Reserved. • Code developers just want to pull and develop • Use git local and pull/push to Helix4Git repo • Digital asset editors don’t need to build • They need to find assets and edit them, but have it pull-able through LFS • Build team pulls it all together • Multiple repos, some external, controllable inputs to the build system Mixed-Team Composition
  • 18. 18© Perforce Software Inc. All Rights Reserved. • Any significant project using git for VCS is using multiple repos • Client/server • Frontend/backend • Microservices • Libraries and versions • Philosophy of component dev = be backwards/forwards compatible Project Dependencies
  • 19. 19© Perforce Software Inc. All Rights Reserved.
  • 20. 20© Perforce Software Inc. All Rights Reserved. Multi-Repo Merge
  • 21. 21© Perforce Software Inc. All Rights Reserved. • Helix TeamHub has the only multi-repo code review in market • Synchronize atomic commits across multiple repos • Keep frontend and backend changes aligned • Stop intermittent build failures • Pre-flight changes to production Multi-Repo Merge
  • 22. 22© Perforce Software Inc. All Rights Reserved. • p4 sync is your best friend • Custom clients can map and re-map how you want • Allows commits that are fully git-compatible • Git developers keep using the tool that makes them efficient Large Projects
  • 23. 23© Perforce Software Inc. All Rights Reserved. • Co-locate Git Connectors with your teams • Set up pull-polling to reduce developer hang time • Multiple Git Connectors to spread the load • Build replica servers to decrease master load Geography
  • 24. 24© Perforce Software Inc. All Rights Reserved. Recap Problem Solution Large binaries are problematic LFS/p4 sync Repo sprawl Centralized commit server + mirroring Mixed-team composition Git+ LFS + p4 sync Build Parallel sync, replicas CI Mirroring LFS Out-of-the-box support + p4 sync Dependencies Multi-repo code review + merge Distance Inherent Git Connector replication, federated servers
  • 26. Follow us for news and insights! Visit www.perforce.com