SlideShare a Scribd company logo
Extending Perforce
Scalability Using Job
Content
Synchronization
Shannon Mann
Software Developer
Research In Motion
Outline


    •  Problem Definition
         •  Brief History
         •  Investigation
    •  Solution: Job Content Synchronization
         •  JCS Concept
         •  JCS Details
    •  Launch
         •  Implementation
         •  Benefits
         •  Concerns
    •  Wrap-up
         •  Conclusions
         •  Questions
Problem Definition
Brief History


    •  Early 2000 – first Perforce use
    •  Mid 2005 – large scale automation introduced
         •  Automated parallel builds
         •  Dramatic growth of continuous integration
         •  Performance issues began
    •  Late 2006 – performance severe
         •  Decision to split
    •  Mid 2007 – split not possible at this time
         •  Code inter-dependencies too high
Brief History


    •  Mid 2007 - Alternatives sought
         •  Monitoring introduced
         •  Hardware replaced - Sparc to Opteron
         •  OS replaced – Solaris to Linux
         •  Performance improved 10X
    •  Continued accumulated improvements by 100X
         •  Initial 2007 samples at 22 seconds, now .2 seconds
    •  Userbase activities increased by 6X
    •  Early 2010 - Decision to split revisited
Investigation


    •  Decision to split by duplicating db and depot data
         •  separate each depot’s trees with protections
         •  best done with explicit protections

    •  Reduce cost with post-split cleanup
         •  clientspec cleanup reduces db.have size
         •  Offline obliterates completes split
               •  leaves depot files as-is – expensive
         •  Depot cleanup needed – future research topic
Investigation

    •  Split Challenges
         •  large number of tool integrations
         •  multiple groups with conflicting needs
         •  moving product delivery dates

    •  Bug-tracking integration complex – show-stopper
         •  Bug-tracker itself integrated with many tools
         •  Integration complexity dramatically increased
         •  Alternative desperately needed
               •  Goal - avoid changing bug-tracker integration

    •  Job Content Synchronization concept saves project
Solution: Job Content
Synchronization
JCS Concept




   •  Middleman depot allows existing bug-tracking
    integration unchanged

   •  JCS copies job data from middleman to production

   •  Perforce Support gave enthusiastic support
        •  Produced reference solution in two weeks
JCS Concept

                    P4DTG
     Original                 Bug
     Depot                    Tracker



              JCS            P4DTG
New                 P4Jobs              Bug
Depot               Depot               Tracker

New
Depot
JCS Details




   •  Stand-alone depot has P4DTG integration with bug
   -tracker
   •  Needs P4Broker to redirect ‘p4 jobs’
   •  Needs P4Auth to make redirect transparent
   •  Needs P4Change to make connections unique
   •  Needs triggers to request initial job data
   •  Uses P4DTG in a depot-to-depot mirror of job data
JCS Details

                                 P4DTG
P4Change   P4Auth       P4Jobs           Bug
                        Depot            Tracker


                       JCS
           New
           Depot


                             P4Broker


               Users
Launch
Implementation




   •  Tested using full test implementation
        •  All parts must be present
        •  Users must test their tool integrations

   •  Staged production release
        •  P4Broker, P4Auth and P4Change implemented first
        •  Split done at later date – reduces risk
        •  Additional depots added as needed
Benefits



    •  Greatly increased scalability

    •  Depot-side and bug-tracker side connections increase
     linearly and independently

    •  Near-trivial low-impact scalability

    •  Non-split depots benefit – bug-tracking connect for free
Concerns




   •  Significant increase in deployed complexity

   •  Expert knowledge of subsystems now required

   •  Complexity extends investigations and corrections
Concerns


                   Original     Bug
                   Depot        Tracker




           Users         Original Setup
Concerns


P4Change    P4Auth             P4Jobs    Bug
                               Depot     Tracker




                             New
                             Depot




                     Users       One Depot w/JCS
Concerns


P4Change     P4Auth             P4Jobs    Bug
                                Depot     Tracker




     New                      New
     Depot                    Depot




                      Users      Two Depots w/JCS
Wrap-up
Conclusions



   •  JCS allows near-linear scaling of bug-tracking
    interconnects to multiple depots

   •  JCS allows a reduction in performance impact

   •  JCS eliminates split impact to bug-tracking system
    integrations
Conclusions (cont.)


   • JCS also allows multiple non-split depots to share bug
   -tracking integration

   •  JCS can be used just for bug-tracking integration sharing
        •  Splits aren’t required to consider using

   •  P4Auth, P4Change and P4Broker can be used alone

   •  Perforce Support are your friends. Seek their advice
Questions?

More Related Content

What's hot

Jonathan Lewis explains Delphix
Jonathan Lewis explains Delphix Jonathan Lewis explains Delphix
Jonathan Lewis explains Delphix
Kyle Hailey
 
How To Be a Java Automated Testing Superstar
How To Be a Java Automated Testing SuperstarHow To Be a Java Automated Testing Superstar
How To Be a Java Automated Testing Superstar
VMware Tanzu
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
Mark Voelker
 
Configuration as Code in Jenkins. What's new? Nov 2016
Configuration as Code in Jenkins. What's new? Nov 2016Configuration as Code in Jenkins. What's new? Nov 2016
Configuration as Code in Jenkins. What's new? Nov 2016
Oleg Nenashev
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
Kellyn Pot'Vin-Gorman
 
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarWicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Kamesh Pemmaraju
 
Driving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete DeckDriving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete Deck
SlideTeam
 
Lessons learned from scaling YARN to 40K machines in a multi tenancy environment
Lessons learned from scaling YARN to 40K machines in a multi tenancy environmentLessons learned from scaling YARN to 40K machines in a multi tenancy environment
Lessons learned from scaling YARN to 40K machines in a multi tenancy environment
DataWorks Summit
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker Enterprise
John Willis
 
Ntc 326 Great Stories /newtonhelp.com
Ntc 326 Great Stories /newtonhelp.comNtc 326 Great Stories /newtonhelp.com
Ntc 326 Great Stories /newtonhelp.com
bellflower218
 
NTC 326 Something Great/newtonhelp.com
NTC 326 Something Great/newtonhelp.comNTC 326 Something Great/newtonhelp.com
NTC 326 Something Great/newtonhelp.com
lechenau20
 
Transforming IT Infrastructure
Transforming IT InfrastructureTransforming IT Infrastructure
Transforming IT Infrastructure
tim_evdbt
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro services
Spyros Lambrinidis
 
Hadoop & devOps : better together
Hadoop & devOps : better togetherHadoop & devOps : better together
Hadoop & devOps : better together
Maxime Lanciaux
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
Karthik Gaekwad
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile Age
BlazeMeter
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
Bert Poller
 
Active Data Guard @CERN on UKOUG 2012
Active Data Guard @CERN on UKOUG 2012Active Data Guard @CERN on UKOUG 2012
Active Data Guard @CERN on UKOUG 2012
Marcin Blaszczyk
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
Damien Garros
 
Technical roadmap 2015 - Nuxeo Tour 2014
Technical roadmap 2015 - Nuxeo Tour 2014Technical roadmap 2015 - Nuxeo Tour 2014
Technical roadmap 2015 - Nuxeo Tour 2014
Nuxeo
 

What's hot (20)

Jonathan Lewis explains Delphix
Jonathan Lewis explains Delphix Jonathan Lewis explains Delphix
Jonathan Lewis explains Delphix
 
How To Be a Java Automated Testing Superstar
How To Be a Java Automated Testing SuperstarHow To Be a Java Automated Testing Superstar
How To Be a Java Automated Testing Superstar
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
 
Configuration as Code in Jenkins. What's new? Nov 2016
Configuration as Code in Jenkins. What's new? Nov 2016Configuration as Code in Jenkins. What's new? Nov 2016
Configuration as Code in Jenkins. What's new? Nov 2016
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
 
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with CrowbarWicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar
 
Driving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete DeckDriving Digital Transformation With Containers And Kubernetes Complete Deck
Driving Digital Transformation With Containers And Kubernetes Complete Deck
 
Lessons learned from scaling YARN to 40K machines in a multi tenancy environment
Lessons learned from scaling YARN to 40K machines in a multi tenancy environmentLessons learned from scaling YARN to 40K machines in a multi tenancy environment
Lessons learned from scaling YARN to 40K machines in a multi tenancy environment
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker Enterprise
 
Ntc 326 Great Stories /newtonhelp.com
Ntc 326 Great Stories /newtonhelp.comNtc 326 Great Stories /newtonhelp.com
Ntc 326 Great Stories /newtonhelp.com
 
NTC 326 Something Great/newtonhelp.com
NTC 326 Something Great/newtonhelp.comNTC 326 Something Great/newtonhelp.com
NTC 326 Something Great/newtonhelp.com
 
Transforming IT Infrastructure
Transforming IT InfrastructureTransforming IT Infrastructure
Transforming IT Infrastructure
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro services
 
Hadoop & devOps : better together
Hadoop & devOps : better togetherHadoop & devOps : better together
Hadoop & devOps : better together
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile Age
 
Docker for the enterprise
Docker for the enterpriseDocker for the enterprise
Docker for the enterprise
 
Active Data Guard @CERN on UKOUG 2012
Active Data Guard @CERN on UKOUG 2012Active Data Guard @CERN on UKOUG 2012
Active Data Guard @CERN on UKOUG 2012
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Technical roadmap 2015 - Nuxeo Tour 2014
Technical roadmap 2015 - Nuxeo Tour 2014Technical roadmap 2015 - Nuxeo Tour 2014
Technical roadmap 2015 - Nuxeo Tour 2014
 

Viewers also liked

Innovació i recerca del PCT de Turisme i Oci (gener 2012)
Innovació i recerca del PCT de Turisme i Oci (gener 2012)Innovació i recerca del PCT de Turisme i Oci (gener 2012)
Innovació i recerca del PCT de Turisme i Oci (gener 2012)
Parque Científico y Tecnológico de Turismo y Ocio
 
CRP2: Policies, Institutions, and Markets to Strengthen Assets and Agricultur...
CRP2: Policies, Institutions, and Markets to Strengthen Assets and Agricultur...CRP2: Policies, Institutions, and Markets to Strengthen Assets and Agricultur...
CRP2: Policies, Institutions, and Markets to Strengthen Assets and Agricultur...
International Institute of Tropical Agriculture
 
Novetats d'agost i setembre del PCT de Turisme i Oci
Novetats d'agost i setembre del PCT de Turisme i OciNovetats d'agost i setembre del PCT de Turisme i Oci
Novetats d'agost i setembre del PCT de Turisme i Oci
Parque Científico y Tecnológico de Turismo y Ocio
 
Food Diversification and Income Generation: The Role of a Crop Utilization Sp...
Food Diversification and Income Generation: The Role of a Crop Utilization Sp...Food Diversification and Income Generation: The Role of a Crop Utilization Sp...
Food Diversification and Income Generation: The Role of a Crop Utilization Sp...
International Institute of Tropical Agriculture
 
Q & A Asbestos A Practical Guide
Q & A Asbestos A Practical GuideQ & A Asbestos A Practical Guide
Q & A Asbestos A Practical Guide
TEYS Lawyers
 
CMO study prez dma detroit - may 2012
CMO study prez   dma detroit - may 2012CMO study prez   dma detroit - may 2012
CMO study prez dma detroit - may 2012
dmadetroit
 
Perforce Server: The Next Generation
Perforce Server: The Next GenerationPerforce Server: The Next Generation
Perforce Server: The Next Generation
Perforce
 

Viewers also liked (8)

Innovació i recerca del PCT de Turisme i Oci (gener 2012)
Innovació i recerca del PCT de Turisme i Oci (gener 2012)Innovació i recerca del PCT de Turisme i Oci (gener 2012)
Innovació i recerca del PCT de Turisme i Oci (gener 2012)
 
CRP2: Policies, Institutions, and Markets to Strengthen Assets and Agricultur...
CRP2: Policies, Institutions, and Markets to Strengthen Assets and Agricultur...CRP2: Policies, Institutions, and Markets to Strengthen Assets and Agricultur...
CRP2: Policies, Institutions, and Markets to Strengthen Assets and Agricultur...
 
Novetats d'agost i setembre del PCT de Turisme i Oci
Novetats d'agost i setembre del PCT de Turisme i OciNovetats d'agost i setembre del PCT de Turisme i Oci
Novetats d'agost i setembre del PCT de Turisme i Oci
 
Doc
DocDoc
Doc
 
Food Diversification and Income Generation: The Role of a Crop Utilization Sp...
Food Diversification and Income Generation: The Role of a Crop Utilization Sp...Food Diversification and Income Generation: The Role of a Crop Utilization Sp...
Food Diversification and Income Generation: The Role of a Crop Utilization Sp...
 
Q & A Asbestos A Practical Guide
Q & A Asbestos A Practical GuideQ & A Asbestos A Practical Guide
Q & A Asbestos A Practical Guide
 
CMO study prez dma detroit - may 2012
CMO study prez   dma detroit - may 2012CMO study prez   dma detroit - may 2012
CMO study prez dma detroit - may 2012
 
Perforce Server: The Next Generation
Perforce Server: The Next GenerationPerforce Server: The Next Generation
Perforce Server: The Next Generation
 

Similar to Extending Perforce Scalability Using Job Content Synchronization

Interoperability: The Elephants in the Room & What We're Doing About Them
Interoperability: The Elephants in the Room & What We're Doing About ThemInteroperability: The Elephants in the Room & What We're Doing About Them
Interoperability: The Elephants in the Room & What We're Doing About Them
Mark Voelker
 
Senior-Project-Presentation-Template (1)
Senior-Project-Presentation-Template (1)Senior-Project-Presentation-Template (1)
Senior-Project-Presentation-Template (1)Aaron Boshers
 
Summit 16: Multi-site OPNFV Testing Challenges
Summit 16: Multi-site OPNFV Testing ChallengesSummit 16: Multi-site OPNFV Testing Challenges
Summit 16: Multi-site OPNFV Testing Challenges
OPNFV
 
Upgrading to SharePoint 2010
Upgrading to SharePoint 2010Upgrading to SharePoint 2010
Upgrading to SharePoint 2010
C/D/H Technology Consultants
 
Evolving for Kubernetes
Evolving for KubernetesEvolving for Kubernetes
Evolving for Kubernetes
Chris McEniry
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
OpenEBS
 
Operations for databases: the agile/devops journey
Operations for databases: the agile/devops journeyOperations for databases: the agile/devops journey
Operations for databases: the agile/devops journey
Eduardo Piairo
 
Mixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting exampleMixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting example
corehard_by
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
Jakarta_EE
 
Webinar: How We Evaluated MongoDB as a Relational Database Replacement
Webinar: How We Evaluated MongoDB as a Relational Database ReplacementWebinar: How We Evaluated MongoDB as a Relational Database Replacement
Webinar: How We Evaluated MongoDB as a Relational Database Replacement
MongoDB
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
Senturus
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on Docker
RightScale
 
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at IntelFrom ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
Perforce
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
indiver
 
The performance of IPv6, by John Brzozowski [APNIC 38 / IPv6 Plenary]
The performance of IPv6, by John Brzozowski [APNIC 38 / IPv6 Plenary]The performance of IPv6, by John Brzozowski [APNIC 38 / IPv6 Plenary]
The performance of IPv6, by John Brzozowski [APNIC 38 / IPv6 Plenary]
APNIC
 
JBPM Past Present Future
JBPM Past Present FutureJBPM Past Present Future
JBPM Past Present Future
Eric D. Schabell
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
Thomas Daly
 
DevOps in Silos
DevOps in SilosDevOps in Silos
DevOps in Silos
Kellyn Pot'Vin-Gorman
 
Staying Close to Experts with Executable Specifications
Staying Close to Experts with Executable SpecificationsStaying Close to Experts with Executable Specifications
Staying Close to Experts with Executable Specifications
Vagif Abilov
 
Endeca Performance Considerations
Endeca Performance ConsiderationsEndeca Performance Considerations
Endeca Performance Considerations
Cirrus10
 

Similar to Extending Perforce Scalability Using Job Content Synchronization (20)

Interoperability: The Elephants in the Room & What We're Doing About Them
Interoperability: The Elephants in the Room & What We're Doing About ThemInteroperability: The Elephants in the Room & What We're Doing About Them
Interoperability: The Elephants in the Room & What We're Doing About Them
 
Senior-Project-Presentation-Template (1)
Senior-Project-Presentation-Template (1)Senior-Project-Presentation-Template (1)
Senior-Project-Presentation-Template (1)
 
Summit 16: Multi-site OPNFV Testing Challenges
Summit 16: Multi-site OPNFV Testing ChallengesSummit 16: Multi-site OPNFV Testing Challenges
Summit 16: Multi-site OPNFV Testing Challenges
 
Upgrading to SharePoint 2010
Upgrading to SharePoint 2010Upgrading to SharePoint 2010
Upgrading to SharePoint 2010
 
Evolving for Kubernetes
Evolving for KubernetesEvolving for Kubernetes
Evolving for Kubernetes
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Operations for databases: the agile/devops journey
Operations for databases: the agile/devops journeyOperations for databases: the agile/devops journey
Operations for databases: the agile/devops journey
 
Mixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting exampleMixing d ps building architecture on the cross cutting example
Mixing d ps building architecture on the cross cutting example
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
 
Webinar: How We Evaluated MongoDB as a Relational Database Replacement
Webinar: How We Evaluated MongoDB as a Relational Database ReplacementWebinar: How We Evaluated MongoDB as a Relational Database Replacement
Webinar: How We Evaluated MongoDB as a Relational Database Replacement
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on Docker
 
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at IntelFrom ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
The performance of IPv6, by John Brzozowski [APNIC 38 / IPv6 Plenary]
The performance of IPv6, by John Brzozowski [APNIC 38 / IPv6 Plenary]The performance of IPv6, by John Brzozowski [APNIC 38 / IPv6 Plenary]
The performance of IPv6, by John Brzozowski [APNIC 38 / IPv6 Plenary]
 
JBPM Past Present Future
JBPM Past Present FutureJBPM Past Present Future
JBPM Past Present Future
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
DevOps in Silos
DevOps in SilosDevOps in Silos
DevOps in Silos
 
Staying Close to Experts with Executable Specifications
Staying Close to Experts with Executable SpecificationsStaying Close to Experts with Executable Specifications
Staying Close to Experts with Executable Specifications
 
Endeca Performance Considerations
Endeca Performance ConsiderationsEndeca Performance Considerations
Endeca Performance Considerations
 

More from Perforce

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
Perforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
Perforce
 
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
Perforce
 
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
Perforce
 
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
Perforce
 
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
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
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...
Perforce
 
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
Perforce
 
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
Perforce
 
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?
Perforce
 
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 ...
Perforce
 
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
Perforce
 
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
Perforce
 

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
 
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
 

Recently uploaded

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 

Recently uploaded (20)

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 

Extending Perforce Scalability Using Job Content Synchronization

  • 1. Extending Perforce Scalability Using Job Content Synchronization Shannon Mann Software Developer Research In Motion
  • 2. Outline •  Problem Definition •  Brief History •  Investigation •  Solution: Job Content Synchronization •  JCS Concept •  JCS Details •  Launch •  Implementation •  Benefits •  Concerns •  Wrap-up •  Conclusions •  Questions
  • 4. Brief History •  Early 2000 – first Perforce use •  Mid 2005 – large scale automation introduced •  Automated parallel builds •  Dramatic growth of continuous integration •  Performance issues began •  Late 2006 – performance severe •  Decision to split •  Mid 2007 – split not possible at this time •  Code inter-dependencies too high
  • 5. Brief History •  Mid 2007 - Alternatives sought •  Monitoring introduced •  Hardware replaced - Sparc to Opteron •  OS replaced – Solaris to Linux •  Performance improved 10X •  Continued accumulated improvements by 100X •  Initial 2007 samples at 22 seconds, now .2 seconds •  Userbase activities increased by 6X •  Early 2010 - Decision to split revisited
  • 6. Investigation •  Decision to split by duplicating db and depot data •  separate each depot’s trees with protections •  best done with explicit protections •  Reduce cost with post-split cleanup •  clientspec cleanup reduces db.have size •  Offline obliterates completes split •  leaves depot files as-is – expensive •  Depot cleanup needed – future research topic
  • 7. Investigation •  Split Challenges •  large number of tool integrations •  multiple groups with conflicting needs •  moving product delivery dates •  Bug-tracking integration complex – show-stopper •  Bug-tracker itself integrated with many tools •  Integration complexity dramatically increased •  Alternative desperately needed •  Goal - avoid changing bug-tracker integration •  Job Content Synchronization concept saves project
  • 9. JCS Concept •  Middleman depot allows existing bug-tracking integration unchanged •  JCS copies job data from middleman to production •  Perforce Support gave enthusiastic support •  Produced reference solution in two weeks
  • 10. JCS Concept P4DTG Original Bug Depot Tracker JCS P4DTG New P4Jobs Bug Depot Depot Tracker New Depot
  • 11. JCS Details •  Stand-alone depot has P4DTG integration with bug -tracker •  Needs P4Broker to redirect ‘p4 jobs’ •  Needs P4Auth to make redirect transparent •  Needs P4Change to make connections unique •  Needs triggers to request initial job data •  Uses P4DTG in a depot-to-depot mirror of job data
  • 12. JCS Details P4DTG P4Change P4Auth P4Jobs Bug Depot Tracker JCS New Depot P4Broker Users
  • 14. Implementation •  Tested using full test implementation •  All parts must be present •  Users must test their tool integrations •  Staged production release •  P4Broker, P4Auth and P4Change implemented first •  Split done at later date – reduces risk •  Additional depots added as needed
  • 15. Benefits •  Greatly increased scalability •  Depot-side and bug-tracker side connections increase linearly and independently •  Near-trivial low-impact scalability •  Non-split depots benefit – bug-tracking connect for free
  • 16. Concerns •  Significant increase in deployed complexity •  Expert knowledge of subsystems now required •  Complexity extends investigations and corrections
  • 17. Concerns Original Bug Depot Tracker Users Original Setup
  • 18. Concerns P4Change P4Auth P4Jobs Bug Depot Tracker New Depot Users One Depot w/JCS
  • 19. Concerns P4Change P4Auth P4Jobs Bug Depot Tracker New New Depot Depot Users Two Depots w/JCS
  • 21. Conclusions •  JCS allows near-linear scaling of bug-tracking interconnects to multiple depots •  JCS allows a reduction in performance impact •  JCS eliminates split impact to bug-tracking system integrations
  • 22. Conclusions (cont.) • JCS also allows multiple non-split depots to share bug -tracking integration •  JCS can be used just for bug-tracking integration sharing •  Splits aren’t required to consider using •  P4Auth, P4Change and P4Broker can be used alone •  Perforce Support are your friends. Seek their advice