SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
 
MERGE 2013 THE PERFORCE CONFERENCE SAN FRANCISCO • APRIL 24−26
Abstract
If you work with large volumes of data̶multimedia
assets, video game art, and firmware designs̶you
understand the pain of trying to quickly get a copy of
source and build assets. But if you have the right
storage system to use, you can be up and running with
a new Perforce workspace in minutes instead of hours.
This white paper describes a simple procedure for fast
workspace cloning using a few Perforce commands
and NetApp FlexClone® technology.
Managing Big Workspaces with
Storage Magic
Randy Defauw, Perforce and Agnes Jacob, NetApp
2 Managing Big Workspaces with Storage Magic
Introduction
Developers work with large volumes of data. It can be challenging to get a quick copy of
source and prebuilt workspaces. With the help of storage technology, workspaces can be
created in minutes instead of hours. In this white paper, we will explore the magic behind this
technology and outline a simple procedure for fast Perforce Software Version Management
workspace creation using NetApp FlexClone technology.
NetApp Flexclone Technology
NetApp FlexClone technology enables instant, space-efficient clones of production or test data
to be created easily, minimizing storage requirements, because physical disk space for these
clones is required only when data blocks are changed. With NetApp FlexClone, each engineer
can have his or her own virtual copy of production or test data for use in test and development
activities.
The foundation of NetApp FlexClone is a writable point-in-time image based on a NetApp
Snapshot®
of a volume. The cloned volume stores only the data that changes between the
source and clone. The Snapshot copy can already exist or it can be created automatically as
part of the cloning operation. Creating the FlexClone volume takes just a few moments
because the copied metadata is very small compared to the actual data. The parent volume
can change independently of the FlexClone volume. It can also be split from its parent to
create a new standalone volume. Space is used very efficiently because new disk space is
only allocated when there are metadata updates and/or additions to either the parent or the
clone volume. While this may sound like magic, this technology has been an integral part of
Data ONTAP and deployed for numerous years in productions.
Create Perforce Workspaces Using Flexclone
Traditionally, there are two methods for obtaining a Perforce workspace:
• A developer can create a p4 client, populate this client workspace with source code (“p4
sync”), and build the binaries. This takes an inordinately long time: in one use case,
around 45 minutes to download the source code and another 1 to 2 hours to build the
initial workspace.
• Alternatively, the developer can use a fully populated prebuilt workspace, using hard
links back to the existing prebuilt workspace. This approach avoids the build step
because it provides prebuilt objects, but it is slow and error prone because files are
shared among developers (via hard links) as well as with the build-daemon. Any user
can trash a shared file, and all the other users (including the build-daemon) suffer.
FlexClone technology offers an opportunity to provide a developer with a prebuilt workspace in
a matter of minutes with much more reliability because these files are not shared (no hard
links) with other workspaces. The generic steps to clone a workspace are as follows:
1. Create volume on NetApp filer (storage system).
2. Make volume accessible via export and mount on host’s server.
3. Run “p4 sync” on host to populate the template workspace.
4. Run the build process in the template workspace to generate build artifacts.
5. Create Snapshot of volume that contains the prebuilt workspace on NetApp filer.
3 Managing Big Workspaces with Storage Magic
6. Create clone from Snapshot.
7. Export the cloned volume on filer and then mount clone onto host.
8. Change ownership (i.e., change the ownership of every file/dir in the tree to be owned
by the user you want to give the volume to). To do this efficiently, create a script that
takes a User ID (uid) as a numeric value and a list of files, which then calls the chown
system call for each file—setting the owner to the passed uid. If the number of files or
list of files is large, one can use “xargs” to split the list into multiple invocations of the
script.
9. Define a Perforce client to let Perforce know the existence of the new workspace,
modifying fields such as “root directory” and “owner” with user-specific information.
10.Run “p4 flush” to make the workspace think it has the file content already. (If you are not
cloning at the head revision of the data, you can use the template workspace as a
revision specifier.) Note: If the clone is used only for builds and no edits are needed,
then flush is not required.
11.(Optional) Run “p4 reconcile” to verify that the workspace data is consistent. Ignore any
build artifacts that are not kept in the Perforce repositoryIn Data ONTAP operating in 7-
mode, workspace access for multiple users has to be provided by using automounter to
allocate the mount points for any future user requests for a new workspace. For Data
ONTAP operating in C-mode, which is NetApp’s new scalable and clustered storage
solution, there is support for global namespace and thus it can provide seamless access
to the workspaces for multiple users.
In a distributed environment, you can use SnapMirror to replicate the Snapshot copies of the
built-out workspace on a central storage to the remote sites. Subsequently, clones can be
taken of this Snapshot copy at the remote site to provide user workspaces at that site.
Using traditional approaches to create Perforce workspaces can be time consuming, especially
when the workspaces become large. With FlexClone technology, only the first full build and
incremental builds require time. This time is amortized over all the users because it takes only
minutes for each user workspace to be created from this central Snapshot copy of the built-out
workspace. This speed is possible because cloning using FlexClone technology is
instantaneous; it also has the added advantage that new clones do not take any additional
space until changes are made to the workspace.
Considerations
Using FlexClone to create Perforce workspaces can dramatically improve engineering
productivity; however, there are some issues to consider:
• Clean up cloned workspaces to avoid leaving numerous abandoned workspaces. The
proper way to clean up is to do the following:
1. Run Perforce “client –d”.
2. Remove the contents of workspace directory.
3. Destroy clone on NetApp filer.
• If you employ a bisect workflow for continuous integration testing, make sure that the
bisect workflow employs the “p4 sync/flush –p” variant to prevent spamming the server.
4 Managing Big Workspaces with Storage Magic
• The maximum number of FlexClones per volume on Data ONTAP 8.1 is 32,767 and
255 for prior releases on Data ONTAP.
• Certain Perforce operations (i.e., flush or sync) require exclusive locks on several
important db.* files to preserve atomicity. Commands needing locks on any of the db.*
files will be blocked until the command has completed. Running numerous flushes and
sync operations can affect performance. However, using NetApp SAN protocols such as
FCP and iSCSI for the Perforce database can alleviate this issue.
Conclusion
Perforce software combined with NetApp storage solutions improve engineers’ productivity,
assisting in releasing products on time. In addition to using FlexClone to create Perforce
workspaces, the combination of Perforce and NetApp can also have other uses to make
engineers more efficient. They include testing product patches, diagnosing an issue using the
clone volume without affecting the production environment, and performance testing in which a
baseline can be established and subject the clone to various performance parameters.
References
• TR-3347: “A Thorough Introduction to FlexClone Volumes”
http://www.netapp.com/us/media/tr-3347.pdf
• TR-4015: “SnapMirror Configuration and Best Practices Guide for Data ONTAP 8.1
Operating in Cluster-Mode”
http://media.netapp.com/documents/tr-4015.pdf

Mais conteúdo relacionado

Mais procurados

Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]
Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]
Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]
Kyle Hailey
 

Mais procurados (20)

Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
 
Leverage Mesos for running Spark Streaming production jobs by Iulian Dragos a...
Leverage Mesos for running Spark Streaming production jobs by Iulian Dragos a...Leverage Mesos for running Spark Streaming production jobs by Iulian Dragos a...
Leverage Mesos for running Spark Streaming production jobs by Iulian Dragos a...
 
Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheus
 
RedisConf17 - Rax, Listpack and Safe Contexts
RedisConf17 - Rax, Listpack and Safe ContextsRedisConf17 - Rax, Listpack and Safe Contexts
RedisConf17 - Rax, Listpack and Safe Contexts
 
Scaling Apache Storm (Hadoop Summit 2015)
Scaling Apache Storm (Hadoop Summit 2015)Scaling Apache Storm (Hadoop Summit 2015)
Scaling Apache Storm (Hadoop Summit 2015)
 
Apply, rinse and repeat: avoid the fidelity gap
Apply, rinse and repeat: avoid the fidelity gapApply, rinse and repeat: avoid the fidelity gap
Apply, rinse and repeat: avoid the fidelity gap
 
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
 
Terraform Best Practices - DevOps Unicorns 2019
Terraform Best Practices - DevOps Unicorns 2019Terraform Best Practices - DevOps Unicorns 2019
Terraform Best Practices - DevOps Unicorns 2019
 
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
Jim Dowling - Multi-tenant Flink-as-a-Service on YARN
 
netty_qcon_v4
netty_qcon_v4netty_qcon_v4
netty_qcon_v4
 
Best Practices for Using Alluxio with Apache Spark with Gene Pang
Best Practices for Using Alluxio with Apache Spark with Gene PangBest Practices for Using Alluxio with Apache Spark with Gene Pang
Best Practices for Using Alluxio with Apache Spark with Gene Pang
 
Hack Shack workshop: Improve day two operations with your own custom automati...
Hack Shack workshop: Improve day two operations with your own custom automati...Hack Shack workshop: Improve day two operations with your own custom automati...
Hack Shack workshop: Improve day two operations with your own custom automati...
 
20141103 cern open_stack_paris_v3
20141103 cern open_stack_paris_v320141103 cern open_stack_paris_v3
20141103 cern open_stack_paris_v3
 
Terraform modules and some of best-practices - March 2019
Terraform modules and some of best-practices - March 2019Terraform modules and some of best-practices - March 2019
Terraform modules and some of best-practices - March 2019
 
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
 
Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]
Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]
Oracle Open World 2014: Lies, Damned Lies, and I/O Statistics [ CON3671]
 
Experience with Kafka & Storm
Experience with Kafka & StormExperience with Kafka & Storm
Experience with Kafka & Storm
 
HDFS on Kubernetes—Lessons Learned with Kimoon Kim
HDFS on Kubernetes—Lessons Learned with Kimoon KimHDFS on Kubernetes—Lessons Learned with Kimoon Kim
HDFS on Kubernetes—Lessons Learned with Kimoon Kim
 
Enterprise Grade Streaming under 2ms on Hadoop
Enterprise Grade Streaming under 2ms on HadoopEnterprise Grade Streaming under 2ms on Hadoop
Enterprise Grade Streaming under 2ms on Hadoop
 
PHP Backends for Real-Time User Interaction using Apache Storm.
PHP Backends for Real-Time User Interaction using Apache Storm.PHP Backends for Real-Time User Interaction using Apache Storm.
PHP Backends for Real-Time User Interaction using Apache Storm.
 

Destaque

[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions
Perforce
 
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
Perforce
 
[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix
Perforce
 
[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports
Perforce
 
[SAP] Perforce Administrative Self Services at SAP
[SAP] Perforce Administrative Self Services at SAP[SAP] Perforce Administrative Self Services at SAP
[SAP] Perforce Administrative Self Services at SAP
Perforce
 
Infographic: Perforce vs ClearCase
Infographic: Perforce vs ClearCaseInfographic: Perforce vs ClearCase
Infographic: Perforce vs ClearCase
Perforce
 
[Nvidia] Extracting Depot Paths Into New Instances of Their Own
[Nvidia] Extracting Depot Paths Into New Instances of Their Own[Nvidia] Extracting Depot Paths Into New Instances of Their Own
[Nvidia] Extracting Depot Paths Into New Instances of Their Own
Perforce
 
[IC Manage] Workspace Acceleration & Network Storage Reduction
[IC Manage] Workspace Acceleration & Network Storage Reduction[IC Manage] Workspace Acceleration & Network Storage Reduction
[IC Manage] Workspace Acceleration & Network Storage Reduction
Perforce
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
Perforce
 
Infographic: Perforce vs Subversion
Infographic: Perforce vs SubversionInfographic: Perforce vs Subversion
Infographic: Perforce vs Subversion
Perforce
 
[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture
Perforce
 
[Mentor Graphics] A Perforce-based Automatic Document Generation System
[Mentor Graphics] A Perforce-based Automatic Document Generation System[Mentor Graphics] A Perforce-based Automatic Document Generation System
[Mentor Graphics] A Perforce-based Automatic Document Generation System
Perforce
 

Destaque (20)

Granular Protections Management with Triggers
Granular Protections Management with TriggersGranular Protections Management with Triggers
Granular Protections Management with Triggers
 
[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions
 
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
 
[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix
 
Cheat Sheet
Cheat SheetCheat Sheet
Cheat Sheet
 
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
 
How Continuous Delivery Helped McKesson Create Award Winning Applications
How Continuous Delivery Helped McKesson Create Award Winning ApplicationsHow Continuous Delivery Helped McKesson Create Award Winning Applications
How Continuous Delivery Helped McKesson Create Award Winning Applications
 
Managing Microservices at Scale
Managing Microservices at ScaleManaging Microservices at Scale
Managing Microservices at Scale
 
[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports[Lucas Films] Using a Perforce Proxy with Alternate Transports
[Lucas Films] Using a Perforce Proxy with Alternate Transports
 
[SAP] Perforce Administrative Self Services at SAP
[SAP] Perforce Administrative Self Services at SAP[SAP] Perforce Administrative Self Services at SAP
[SAP] Perforce Administrative Self Services at SAP
 
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
 
Infographic: Perforce vs ClearCase
Infographic: Perforce vs ClearCaseInfographic: Perforce vs ClearCase
Infographic: Perforce vs ClearCase
 
[Nvidia] Extracting Depot Paths Into New Instances of Their Own
[Nvidia] Extracting Depot Paths Into New Instances of Their Own[Nvidia] Extracting Depot Paths Into New Instances of Their Own
[Nvidia] Extracting Depot Paths Into New Instances of Their Own
 
[IC Manage] Workspace Acceleration & Network Storage Reduction
[IC Manage] Workspace Acceleration & Network Storage Reduction[IC Manage] Workspace Acceleration & Network Storage Reduction
[IC Manage] Workspace Acceleration & Network Storage Reduction
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
 
Continuous Validation
Continuous ValidationContinuous Validation
Continuous Validation
 
Infographic: Perforce vs Subversion
Infographic: Perforce vs SubversionInfographic: Perforce vs Subversion
Infographic: Perforce vs Subversion
 
[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture
 
[Mentor Graphics] A Perforce-based Automatic Document Generation System
[Mentor Graphics] A Perforce-based Automatic Document Generation System[Mentor Graphics] A Perforce-based Automatic Document Generation System
[Mentor Graphics] A Perforce-based Automatic Document Generation System
 
Conquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOpsConquering Chaos: Helix & DevOps
Conquering Chaos: Helix & DevOps
 

Semelhante a [NetApp Managing Big Workspaces with Storage Magic

AIDevWorldApacheNiFi101
AIDevWorldApacheNiFi101AIDevWorldApacheNiFi101
AIDevWorldApacheNiFi101
Timothy Spann
 
5503 cake php-tutorial-no-1-from-ibm
5503 cake php-tutorial-no-1-from-ibm5503 cake php-tutorial-no-1-from-ibm
5503 cake php-tutorial-no-1-from-ibm
balajipala
 

Semelhante a [NetApp Managing Big Workspaces with Storage Magic (20)

Testing Delphix: easy data virtualization
Testing Delphix: easy data virtualizationTesting Delphix: easy data virtualization
Testing Delphix: easy data virtualization
 
White Paper: Scaling Servers and Storage for Film Assets
White Paper: Scaling Servers and Storage for Film AssetsWhite Paper: Scaling Servers and Storage for Film Assets
White Paper: Scaling Servers and Storage for Film Assets
 
[NetApp] Managing Big Workspaces with Storage Magic
[NetApp] Managing Big Workspaces with Storage Magic[NetApp] Managing Big Workspaces with Storage Magic
[NetApp] Managing Big Workspaces with Storage Magic
 
Speeding Up Spark Performance using Alluxio at China Unicom
Speeding Up Spark Performance using Alluxio at China UnicomSpeeding Up Spark Performance using Alluxio at China Unicom
Speeding Up Spark Performance using Alluxio at China Unicom
 
AIDevWorldApacheNiFi101
AIDevWorldApacheNiFi101AIDevWorldApacheNiFi101
AIDevWorldApacheNiFi101
 
Effective Spark with Alluxio at Strata+Hadoop World San Jose 2017
Effective Spark with Alluxio at Strata+Hadoop World San Jose 2017Effective Spark with Alluxio at Strata+Hadoop World San Jose 2017
Effective Spark with Alluxio at Strata+Hadoop World San Jose 2017
 
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and PrestoStorageQuery: federated querying on object stores, powered by Alluxio and Presto
StorageQuery: federated querying on object stores, powered by Alluxio and Presto
 
BlueGene
BlueGeneBlueGene
BlueGene
 
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
LCNA14: Why Use Xen for Large Scale Enterprise Deployments? - Konrad Rzeszute...
 
Demo 0.9.4
Demo 0.9.4Demo 0.9.4
Demo 0.9.4
 
6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...
6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...
6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
5503 cake php-tutorial-no-1-from-ibm
5503 cake php-tutorial-no-1-from-ibm5503 cake php-tutorial-no-1-from-ibm
5503 cake php-tutorial-no-1-from-ibm
 
Alluxio Use Cases at Strata+Hadoop World Beijing 2016
Alluxio Use Cases at Strata+Hadoop World Beijing 2016Alluxio Use Cases at Strata+Hadoop World Beijing 2016
Alluxio Use Cases at Strata+Hadoop World Beijing 2016
 
Terraform vs Pulumi
Terraform vs PulumiTerraform vs Pulumi
Terraform vs Pulumi
 
TYPO3 CMS v8 in the cloud
TYPO3 CMS v8 in the cloudTYPO3 CMS v8 in the cloud
TYPO3 CMS v8 in the cloud
 
Leveraging Structured Data To Reduce Disk, IO & Network Bandwidth
Leveraging Structured Data To Reduce Disk, IO & Network BandwidthLeveraging Structured Data To Reduce Disk, IO & Network Bandwidth
Leveraging Structured Data To Reduce Disk, IO & Network Bandwidth
 
Cloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inCloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation in
 
Still All on One Server: Perforce at Scale
Still All on One Server: Perforce at Scale Still All on One Server: Perforce at Scale
Still All on One Server: Perforce at Scale
 
Power features in .NET 4: Investigating the features of .NET 4 which you don’...
Power features in .NET 4: Investigating the features of .NET 4 which you don’...Power features in .NET 4: Investigating the features of .NET 4 which you don’...
Power features in .NET 4: Investigating the features of .NET 4 which you don’...
 

Mais de Perforce

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

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

[NetApp Managing Big Workspaces with Storage Magic

  • 1.   MERGE 2013 THE PERFORCE CONFERENCE SAN FRANCISCO • APRIL 24−26 Abstract If you work with large volumes of data̶multimedia assets, video game art, and firmware designs̶you understand the pain of trying to quickly get a copy of source and build assets. But if you have the right storage system to use, you can be up and running with a new Perforce workspace in minutes instead of hours. This white paper describes a simple procedure for fast workspace cloning using a few Perforce commands and NetApp FlexClone® technology. Managing Big Workspaces with Storage Magic Randy Defauw, Perforce and Agnes Jacob, NetApp
  • 2. 2 Managing Big Workspaces with Storage Magic Introduction Developers work with large volumes of data. It can be challenging to get a quick copy of source and prebuilt workspaces. With the help of storage technology, workspaces can be created in minutes instead of hours. In this white paper, we will explore the magic behind this technology and outline a simple procedure for fast Perforce Software Version Management workspace creation using NetApp FlexClone technology. NetApp Flexclone Technology NetApp FlexClone technology enables instant, space-efficient clones of production or test data to be created easily, minimizing storage requirements, because physical disk space for these clones is required only when data blocks are changed. With NetApp FlexClone, each engineer can have his or her own virtual copy of production or test data for use in test and development activities. The foundation of NetApp FlexClone is a writable point-in-time image based on a NetApp Snapshot® of a volume. The cloned volume stores only the data that changes between the source and clone. The Snapshot copy can already exist or it can be created automatically as part of the cloning operation. Creating the FlexClone volume takes just a few moments because the copied metadata is very small compared to the actual data. The parent volume can change independently of the FlexClone volume. It can also be split from its parent to create a new standalone volume. Space is used very efficiently because new disk space is only allocated when there are metadata updates and/or additions to either the parent or the clone volume. While this may sound like magic, this technology has been an integral part of Data ONTAP and deployed for numerous years in productions. Create Perforce Workspaces Using Flexclone Traditionally, there are two methods for obtaining a Perforce workspace: • A developer can create a p4 client, populate this client workspace with source code (“p4 sync”), and build the binaries. This takes an inordinately long time: in one use case, around 45 minutes to download the source code and another 1 to 2 hours to build the initial workspace. • Alternatively, the developer can use a fully populated prebuilt workspace, using hard links back to the existing prebuilt workspace. This approach avoids the build step because it provides prebuilt objects, but it is slow and error prone because files are shared among developers (via hard links) as well as with the build-daemon. Any user can trash a shared file, and all the other users (including the build-daemon) suffer. FlexClone technology offers an opportunity to provide a developer with a prebuilt workspace in a matter of minutes with much more reliability because these files are not shared (no hard links) with other workspaces. The generic steps to clone a workspace are as follows: 1. Create volume on NetApp filer (storage system). 2. Make volume accessible via export and mount on host’s server. 3. Run “p4 sync” on host to populate the template workspace. 4. Run the build process in the template workspace to generate build artifacts. 5. Create Snapshot of volume that contains the prebuilt workspace on NetApp filer.
  • 3. 3 Managing Big Workspaces with Storage Magic 6. Create clone from Snapshot. 7. Export the cloned volume on filer and then mount clone onto host. 8. Change ownership (i.e., change the ownership of every file/dir in the tree to be owned by the user you want to give the volume to). To do this efficiently, create a script that takes a User ID (uid) as a numeric value and a list of files, which then calls the chown system call for each file—setting the owner to the passed uid. If the number of files or list of files is large, one can use “xargs” to split the list into multiple invocations of the script. 9. Define a Perforce client to let Perforce know the existence of the new workspace, modifying fields such as “root directory” and “owner” with user-specific information. 10.Run “p4 flush” to make the workspace think it has the file content already. (If you are not cloning at the head revision of the data, you can use the template workspace as a revision specifier.) Note: If the clone is used only for builds and no edits are needed, then flush is not required. 11.(Optional) Run “p4 reconcile” to verify that the workspace data is consistent. Ignore any build artifacts that are not kept in the Perforce repositoryIn Data ONTAP operating in 7- mode, workspace access for multiple users has to be provided by using automounter to allocate the mount points for any future user requests for a new workspace. For Data ONTAP operating in C-mode, which is NetApp’s new scalable and clustered storage solution, there is support for global namespace and thus it can provide seamless access to the workspaces for multiple users. In a distributed environment, you can use SnapMirror to replicate the Snapshot copies of the built-out workspace on a central storage to the remote sites. Subsequently, clones can be taken of this Snapshot copy at the remote site to provide user workspaces at that site. Using traditional approaches to create Perforce workspaces can be time consuming, especially when the workspaces become large. With FlexClone technology, only the first full build and incremental builds require time. This time is amortized over all the users because it takes only minutes for each user workspace to be created from this central Snapshot copy of the built-out workspace. This speed is possible because cloning using FlexClone technology is instantaneous; it also has the added advantage that new clones do not take any additional space until changes are made to the workspace. Considerations Using FlexClone to create Perforce workspaces can dramatically improve engineering productivity; however, there are some issues to consider: • Clean up cloned workspaces to avoid leaving numerous abandoned workspaces. The proper way to clean up is to do the following: 1. Run Perforce “client –d”. 2. Remove the contents of workspace directory. 3. Destroy clone on NetApp filer. • If you employ a bisect workflow for continuous integration testing, make sure that the bisect workflow employs the “p4 sync/flush –p” variant to prevent spamming the server.
  • 4. 4 Managing Big Workspaces with Storage Magic • The maximum number of FlexClones per volume on Data ONTAP 8.1 is 32,767 and 255 for prior releases on Data ONTAP. • Certain Perforce operations (i.e., flush or sync) require exclusive locks on several important db.* files to preserve atomicity. Commands needing locks on any of the db.* files will be blocked until the command has completed. Running numerous flushes and sync operations can affect performance. However, using NetApp SAN protocols such as FCP and iSCSI for the Perforce database can alleviate this issue. Conclusion Perforce software combined with NetApp storage solutions improve engineers’ productivity, assisting in releasing products on time. In addition to using FlexClone to create Perforce workspaces, the combination of Perforce and NetApp can also have other uses to make engineers more efficient. They include testing product patches, diagnosing an issue using the clone volume without affecting the production environment, and performance testing in which a baseline can be established and subject the clone to various performance parameters. References • TR-3347: “A Thorough Introduction to FlexClone Volumes” http://www.netapp.com/us/media/tr-3347.pdf • TR-4015: “SnapMirror Configuration and Best Practices Guide for Data ONTAP 8.1 Operating in Cluster-Mode” http://media.netapp.com/documents/tr-4015.pdf