SlideShare a Scribd company logo
Global Software
Development
Kevin Loken
Group Technical Director, EA
2
Electronic Arts
20+
Development
studios
worldwide
#1 publisher on
PlayStation® 4
and Xbox One
8,400+
employees
http://ir.ea.com
3
Electronic Arts & Perforce
5,001
EA
Licenses
15+
Years
Usage
10,000+
check-ins
In a day
160
Perforce
Servers
350+
TB
Data
180
Proxy
Servers
Global Software
Development
5
Global Software Development
 It’s not 2 guys in a garage anymore
 Hundreds of staff
• Art & Animation
• Audio
• Code
• Online services & infrastructure
• QA, Certification, Manufacturing
 Not in one geographic location anymore
6
Global Software Development
 Fun is proportional to productivity
 Productivity is about making the remote experience the
same as the local experience
 Perforce offers a number of features that help:
• Proxy servers
• Edge servers
• DVCS
7
Global Software Development
 Perforce Proxy server
• Easy to setup
• Essentially zero maintenance
- Cull old files on a regular basis
• Extremely robust
• Great if all you do is sync,
edit & submit
• Terrible if you diff, revert,
switch streams
8
Global Software Development
 Perforce Edge server
• Complicated to setup – too complicated to show a movie 
• Needs backup, checkpoints
- There is data that is specific and unique to the edge server
• p4 submit is longer than local
• All other operations just like local
9
Global Software Development
 Still limited by TCP
protocol and network
latency
 But I want it to go faster!
• Enable parallel sync
• WAN acceleration
10
Global Software Development
• Art content
• Engine development
• Game development
• Online services
• Sensitive data
• Localization
• Binary data stores
• Tools & CI
 Proxy and Edge servers are great
 Assumes a single Perforce Helix server
 Lots of Perforce Helix servers for a game:
11
Global Software Development
 Risk of moving to a single repository is too high
 Human error is still a factor in our work
• Bad triggers
• Bad upgrades
 Time to execute commands increases
• Checkpoints
• Restoration
 Finding a window to upgrade would be impossible
• World-wide operations, games on different cycles, never a good time
12
Global Software Development
 It would be nice to share file history between servers
 Especially between game engine and game team
 Over the years we have developed a ton of scripts to do this
 But there is something new …
13
Global Software Development
 Perforce Helix DVCS Technology
• All documentation points to individual usage
 Also works server-server!
• This allows us to preserve history between servers
• It simplifies integration work flows for harvesting changes
• Custom scripts are gone, replaced by DVCS features
14
Perforce Helix DVCS
15
Perforce Helix DVCS
16
Perforce Helix DVCS
17
Perforce Helix DVCS
18
Perforce Helix DVCS
19
Perforce Helix DVCS
20
Perforce Helix DVCS
21
Perforce Helix DVCS
 Enables sharing of code across servers
 First-class feature in Perforce … no more custom scripts
 Works through proxy and edge servers
 A way of mitigating risk if a huge mono-repo is not for you
Security
23
EA is a target
24
EA is a target
25
Security
 EA Security model
• Old days – ‘outside the network’ - bad, ‘inside the network’ - safe
• Today – zero trust model
26
Security
 Perforce security models
• Protect table
• User management
• AD Security
- Starting to directly embed AD security groups into Perforce groups
- Simplifies management – “one source of truth”
- Potential downside: Not everyone is aware that adding a user to ‘this group’,
means they get Perforce access
27
Security
 Perforce Helix Threat Detection
• Relies on audit logs
• Take a lot of space!
• Intersects with our Employee Monitoring & Privacy Policy
• Here come the lawyers
28
Perforce Helix Threat Detection
 Understand privacy issues of your jurisdiction
• Switzerland: No, can’t monitor employees.
• Germany: Need approval of work council
• France: Need approval of individual employees
• Canada: Need to notify employees
• US: Don’t need to notify employees, but do anyway
• Contractors: Notify contracting agency in addition to country specific rules
29
Perforce Helix Threat Detection
 Handling the privacy issues
• Build a system that intercepts and cleans all audit logs
• Integrated with HR systems
• Custom rule sets that allow filtering based on local rules
• Only pass the cleaned audit logs on to Threat Detection
30
Perforce Helix Threat Detection
 Proof of Concept
• 3 months of audit logs from 2 servers
• Post processing
• Identified 10 unusual or suspicious users
• Individually handle each case, most of them explainable
• Due to post-process nature some instances couldn’t be fully investigated
• Results made the investment in Threat Detection a no-brainer for us
31
Perforce Helix Threat Detection
 Going live
• Near real-time processing of audit logs from all servers
• Intrusion detection vs. Incident response
• Present case to legal department to get investigation authorization
• Investigate once authorization is achieved
 Future
• Integrate with other data sources like QRadar
32
Perforce Helix Threat Detection
 Results
• Proof of Concept results made investment in Threat Detection a no-brainer
for EA
• Wide ranging legal issues involved, especially for multi-national companies
• Becomes exponentially more powerful as you integrate with other data
sources
Thank you!
Contact:
Kevin Loken
kloken@ea.com

More Related Content

What's hot

Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
deshpandeamrut
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Mohammed Romi
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
Saqib Raza
 
Overview of software reliability engineering
Overview of software reliability engineeringOverview of software reliability engineering
Overview of software reliability engineering
Ann Marie Neufelder
 
System Requirements
System Requirements System Requirements
System Requirements
Alaa Al Nouri
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
Priyanka Shetty
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
Saqib Raza
 
software quality
software qualitysoftware quality
software quality
preetikapri1
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Dharmalingam Ganesan
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
Bilal Shah
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
Darshit Metaliya
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
Priyanka Karancy
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Sachithra Gayan
 
software re-engineering
software re-engineeringsoftware re-engineering
software re-engineering
Nikita Shrivastava
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
University of Sargodha
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
Achmad Solichin
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
jhudyne
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
malathijanapati1
 

What's hot (20)

Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
 
Overview of software reliability engineering
Overview of software reliability engineeringOverview of software reliability engineering
Overview of software reliability engineering
 
System Requirements
System Requirements System Requirements
System Requirements
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Chapter 15
Chapter 15Chapter 15
Chapter 15
 
software quality
software qualitysoftware quality
software quality
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
software re-engineering
software re-engineeringsoftware re-engineering
software re-engineering
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 

Viewers also liked

GSD
GSDGSD
Distributed Software Development in Brazil: A Historical Review
Distributed Software Development in Brazil: A Historical ReviewDistributed Software Development in Brazil: A Historical Review
Distributed Software Development in Brazil: A Historical Review
PUCRS University
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Intland Software GmbH
 
Introduction to Global Software Engineering TDT4140
Introduction to Global Software Engineering TDT4140Introduction to Global Software Engineering TDT4140
Introduction to Global Software Engineering TDT4140
Anh Nguyen Duc
 
GSD24 Testing
GSD24 TestingGSD24 Testing
GSD24 Testing
David Proudfoot
 
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
zillesubhan
 
Mapping GSD and PMBOK Guide
Mapping GSD and PMBOK GuideMapping GSD and PMBOK Guide
Mapping GSD and PMBOK Guide
Achmad Giovani
 
Software testing
Software testingSoftware testing
Software testing
ankityadav.ec
 

Viewers also liked (8)

GSD
GSDGSD
GSD
 
Distributed Software Development in Brazil: A Historical Review
Distributed Software Development in Brazil: A Historical ReviewDistributed Software Development in Brazil: A Historical Review
Distributed Software Development in Brazil: A Historical Review
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
 
Introduction to Global Software Engineering TDT4140
Introduction to Global Software Engineering TDT4140Introduction to Global Software Engineering TDT4140
Introduction to Global Software Engineering TDT4140
 
GSD24 Testing
GSD24 TestingGSD24 Testing
GSD24 Testing
 
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
 
Mapping GSD and PMBOK Guide
Mapping GSD and PMBOK GuideMapping GSD and PMBOK Guide
Mapping GSD and PMBOK Guide
 
Software testing
Software testingSoftware testing
Software testing
 

Similar to Global Software Development powered by Perforce

Troubleshooting K1000
Troubleshooting K1000Troubleshooting K1000
Troubleshooting K1000
Dell World
 
Mitigate potential compliance risks
Mitigate potential compliance risksMitigate potential compliance risks
Mitigate potential compliance risks
Jürgen Brüder
 
Challenges Scaling DevOps
Challenges Scaling DevOpsChallenges Scaling DevOps
Challenges Scaling DevOps
Rachel Maxwell
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
Andreas Katzig
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
Senturus
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Kelly Looney
 
Sullivan red october-oscon-2014
Sullivan red october-oscon-2014Sullivan red october-oscon-2014
Sullivan red october-oscon-2014
Cloudflare
 
High Performance Continuous Delivery - Versioning and Release Management Aligned
High Performance Continuous Delivery - Versioning and Release Management AlignedHigh Performance Continuous Delivery - Versioning and Release Management Aligned
High Performance Continuous Delivery - Versioning and Release Management Aligned
Perforce
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Lean IT Consulting
 
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
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
TechWell
 
[UC4] Version and Automate Everything
[UC4] Version and Automate Everything[UC4] Version and Automate Everything
[UC4] Version and Automate Everything
Perforce
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
Kelly Looney
 
FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub
Black Duck by Synopsys
 
Technical and Business Considerations for DNSSEC Deployment
Technical and Business Considerations for DNSSEC DeploymentTechnical and Business Considerations for DNSSEC Deployment
Technical and Business Considerations for DNSSEC Deployment
APNIC
 
Securing the Helix Platform at Citrix
Securing the Helix Platform at CitrixSecuring the Helix Platform at Citrix
Securing the Helix Platform at Citrix
Perforce
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Fwdays
 
Game Development Best Practices
Game Development Best PracticesGame Development Best Practices
Game Development Best Practices
Perforce
 
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
adamleff
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Qualcomm Developer Network
 

Similar to Global Software Development powered by Perforce (20)

Troubleshooting K1000
Troubleshooting K1000Troubleshooting K1000
Troubleshooting K1000
 
Mitigate potential compliance risks
Mitigate potential compliance risksMitigate potential compliance risks
Mitigate potential compliance risks
 
Challenges Scaling DevOps
Challenges Scaling DevOpsChallenges Scaling DevOps
Challenges Scaling DevOps
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Sullivan red october-oscon-2014
Sullivan red october-oscon-2014Sullivan red october-oscon-2014
Sullivan red october-oscon-2014
 
High Performance Continuous Delivery - Versioning and Release Management Aligned
High Performance Continuous Delivery - Versioning and Release Management AlignedHigh Performance Continuous Delivery - Versioning and Release Management Aligned
High Performance Continuous Delivery - Versioning and Release Management Aligned
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
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
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
 
[UC4] Version and Automate Everything
[UC4] Version and Automate Everything[UC4] Version and Automate Everything
[UC4] Version and Automate Everything
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub
 
Technical and Business Considerations for DNSSEC Deployment
Technical and Business Considerations for DNSSEC DeploymentTechnical and Business Considerations for DNSSEC Deployment
Technical and Business Considerations for DNSSEC Deployment
 
Securing the Helix Platform at Citrix
Securing the Helix Platform at CitrixSecuring the Helix Platform at Citrix
Securing the Helix Platform at Citrix
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
 
Game Development Best Practices
Game Development Best PracticesGame Development Best Practices
Game Development Best Practices
 
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
 

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

Recently uploaded

May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 

Recently uploaded (20)

May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 

Global Software Development powered by Perforce

  • 2. 2 Electronic Arts 20+ Development studios worldwide #1 publisher on PlayStation® 4 and Xbox One 8,400+ employees http://ir.ea.com
  • 3. 3 Electronic Arts & Perforce 5,001 EA Licenses 15+ Years Usage 10,000+ check-ins In a day 160 Perforce Servers 350+ TB Data 180 Proxy Servers
  • 5. 5 Global Software Development  It’s not 2 guys in a garage anymore  Hundreds of staff • Art & Animation • Audio • Code • Online services & infrastructure • QA, Certification, Manufacturing  Not in one geographic location anymore
  • 6. 6 Global Software Development  Fun is proportional to productivity  Productivity is about making the remote experience the same as the local experience  Perforce offers a number of features that help: • Proxy servers • Edge servers • DVCS
  • 7. 7 Global Software Development  Perforce Proxy server • Easy to setup • Essentially zero maintenance - Cull old files on a regular basis • Extremely robust • Great if all you do is sync, edit & submit • Terrible if you diff, revert, switch streams
  • 8. 8 Global Software Development  Perforce Edge server • Complicated to setup – too complicated to show a movie  • Needs backup, checkpoints - There is data that is specific and unique to the edge server • p4 submit is longer than local • All other operations just like local
  • 9. 9 Global Software Development  Still limited by TCP protocol and network latency  But I want it to go faster! • Enable parallel sync • WAN acceleration
  • 10. 10 Global Software Development • Art content • Engine development • Game development • Online services • Sensitive data • Localization • Binary data stores • Tools & CI  Proxy and Edge servers are great  Assumes a single Perforce Helix server  Lots of Perforce Helix servers for a game:
  • 11. 11 Global Software Development  Risk of moving to a single repository is too high  Human error is still a factor in our work • Bad triggers • Bad upgrades  Time to execute commands increases • Checkpoints • Restoration  Finding a window to upgrade would be impossible • World-wide operations, games on different cycles, never a good time
  • 12. 12 Global Software Development  It would be nice to share file history between servers  Especially between game engine and game team  Over the years we have developed a ton of scripts to do this  But there is something new …
  • 13. 13 Global Software Development  Perforce Helix DVCS Technology • All documentation points to individual usage  Also works server-server! • This allows us to preserve history between servers • It simplifies integration work flows for harvesting changes • Custom scripts are gone, replaced by DVCS features
  • 21. 21 Perforce Helix DVCS  Enables sharing of code across servers  First-class feature in Perforce … no more custom scripts  Works through proxy and edge servers  A way of mitigating risk if a huge mono-repo is not for you
  • 23. 23 EA is a target
  • 24. 24 EA is a target
  • 25. 25 Security  EA Security model • Old days – ‘outside the network’ - bad, ‘inside the network’ - safe • Today – zero trust model
  • 26. 26 Security  Perforce security models • Protect table • User management • AD Security - Starting to directly embed AD security groups into Perforce groups - Simplifies management – “one source of truth” - Potential downside: Not everyone is aware that adding a user to ‘this group’, means they get Perforce access
  • 27. 27 Security  Perforce Helix Threat Detection • Relies on audit logs • Take a lot of space! • Intersects with our Employee Monitoring & Privacy Policy • Here come the lawyers
  • 28. 28 Perforce Helix Threat Detection  Understand privacy issues of your jurisdiction • Switzerland: No, can’t monitor employees. • Germany: Need approval of work council • France: Need approval of individual employees • Canada: Need to notify employees • US: Don’t need to notify employees, but do anyway • Contractors: Notify contracting agency in addition to country specific rules
  • 29. 29 Perforce Helix Threat Detection  Handling the privacy issues • Build a system that intercepts and cleans all audit logs • Integrated with HR systems • Custom rule sets that allow filtering based on local rules • Only pass the cleaned audit logs on to Threat Detection
  • 30. 30 Perforce Helix Threat Detection  Proof of Concept • 3 months of audit logs from 2 servers • Post processing • Identified 10 unusual or suspicious users • Individually handle each case, most of them explainable • Due to post-process nature some instances couldn’t be fully investigated • Results made the investment in Threat Detection a no-brainer for us
  • 31. 31 Perforce Helix Threat Detection  Going live • Near real-time processing of audit logs from all servers • Intrusion detection vs. Incident response • Present case to legal department to get investigation authorization • Investigate once authorization is achieved  Future • Integrate with other data sources like QRadar
  • 32. 32 Perforce Helix Threat Detection  Results • Proof of Concept results made investment in Threat Detection a no-brainer for EA • Wide ranging legal issues involved, especially for multi-national companies • Becomes exponentially more powerful as you integrate with other data sources

Editor's Notes

  1. EA has been using Perforce for over 15 years now. The first server was setup for our Tools & Libraries group with 5 users. Then we added it to FIFA, with split development between UK and EA Vancouver, Proxy server helping out significantly We currently have over 160 perforce servers setup, 180 proxy servers, and about half a dozen edge servers Total data under storage is over 350 TB, growing every day Our high traffic servers have meta-data databases that are approaching 1 TB (800 MB)
  2. WAN acceleration – SilverPeak, Riverbed, SonicWALL, MACH5
  3. The basic flow of code begins from the common ancestry point on frostbite. Having establish a common history, we `p4 fetch` to a branch on the game perforce server. This new branch (//mule/integ/…) is integrated into the dev line (//mule/dev/...). We finish the box by executing `p4 fetch` on frostbite (or a `p4 push` mule perforce server) And integrate into the origin common ancestor (//fmule/integ/...) The red boxes indicate that these branches should be consider read-only on their server. Only the user/service account that does the fetch should have write access to those branches.
  4. Funny story, SRM gets tagged as moochers because they only sync code