Upload
perforce
View
231
Download
0
Embed Size (px)
Citation preview
Accelerating Software Development with NetApp's P4flexBikash Roy ChoudhuryNarjit Chadha
2
Agenda
Introduction
What is p4flex?• Components• Workflows
Perforce in AWS and Hybrid Cloud Model
Key Takeaways
P4flex Demo
© 2015 NetApp, Inc. All rights reserved. NetApp Confidential – Limited Use 3
NetApp is a global provider of software, systems and services to manage and store data
Annual Revenue Global Employees Patent Assets
$6.1B 12,000+ 3,200
© 2015 NetApp, Inc. All rights reserved. NetApp Confidential – Limited Use 4
Challenges in Application development environment
Managing Risk Speed
Economics Scale
Faster TTM Depends on..Developers Focus on • Code & Testing (Unit/Smoke tests)• Maintain Version Control• Continuous Integration• Automate as much as possible
Build environments should be • Faster & Scalable• Builds can be repeatable and reliable• Every build should be a release candidate
Images by xkcd.com
© 2016 NetApp, Inc. All rights reserved. NetApp Proprietary – Limited Use Only By - Bikash Roy Choudhury
The equations gets simplerApplication Development demands in a DevOps practice
BusinessImpact
ValueTime
Shorter the Time, higher the Value and more Impact with faster Time to Market (TTM)
= TTM=
© 2016 NetApp, Inc. All rights reserved. NetApp Proprietary – Limited Use Only By - Bikash Roy Choudhury
Automating Developers’ environment with NetApp using Perforce Helix
Continuous Integration (CI) Environment
P4 Depot(Source Code)
Main Codebase
Dev.Branch1 Dev.Branch2
Dev.Branch3 Dev.Branch4
Dev.Branch1
C
R
L
T
BUILD
CI TEST
Baseline1
OK
OK
Workspace1(pre-packaged)
Developer Environment
Snapshot1.1Snapshot
Full Builds(Docker Images)
• Risk Mitigation• Drive Storage Cost down• Instantaneous Workspace Creation
QA/Staging DeployT
RC
Snapshot.1 Snapshot1.2
Dev.Branch1.2
BUILDOK
Workspace1.2(pre-packaged)
CI TESTOK
Baseline1.2
P4 Database
P4Flex
P4 Flex Team
8
PM ClaryTechnical AccountManager
Lawrence BunkaSr. Product Strategy Manager
Tim BrazilPerformance Engineer
Paul AllenSenior Integrations Engineer
Narjit ChadhaSolutions Architect
Bikash Roy Choudhury Principal Architect
P4 Flex Overview
What is it?• P4 flex is an open-source p4broker script which
is shared to the developer community to refine and customized to their own environment.
• A starting reference
9
P4 Flex Overview
Support• Support is through the developer community
forums in which Perforce and NetApp are members.
• Posted on Perforce Workshop
• Currently only supports Linux and NFS environments.
10
P4 Flex Components
P4 FLEX:• broker.cfg• flex.cfg• flex.py
P4 Client
p4broker P4D Server
P4 Client
P4 Client
Requirements In order to be able to utilize P4 Flex the following is
required:• Python 2.6 or later• P4 Python 2.6 or later APIs• NetApp Manageability Software Development Kit (NMSDK) 5.3.x or
later• NetApp RESTful API services will be available in May 2016.
Pre- Requisites To use P4 flex, the following are assumed.
• SERVER- P4D Server is installed and running- P4Broker installed- LDAP is running or an existence of user accounts and authentication
management.- NetApp Cluster Mode Storage Data ONTAP 8.x is used with FlexClone
and NFS license enabled• CLIENT:
- NFS Client is running on client box- NetApp volume is mounted on client box- The "p4 client" is installed.
Workflow
Create a Volume & add content
Snapshot a Volume
Cloned by a User
Clean up
Workflow
Volume snapshot 1 snapshot 2 snapshot 3
clone atsnapshot 1
clone atsnapshot 3
Bob
Joe
User’s clones created at snapshot on the Volume
Workflow
1. Create a Volume, add contentp4 flex volume -s 1G projVolume
-Create and Mount the volume at:/p4/projVolume
2. Snapshot the volume
p4 volumes p4 flex snapshot -VprojVolume snap1- Creates a snapshot and hidden Perforce workspace to manage the have list.
Workflow
3. Clone the volume p4 volumes p4 snapshots p4 flex clone -VprojACE -Ssnap1 myClone
-Mounts the clone & places P4CONFIG /p4/myClone .p4config
Workflow Clean up Clones
p4 clones p4 clone -d myClone
Clean up Volumes p4 volumes p4 volume -d projACE
(snapshots automatically removed)
© 2016 NetApp, Inc. All rights reserved. NetApp Proprietary – Limited Use Only By - Bikash Roy Choudhury
Perforce Helix in AWS in a Hybrid Cloud Model
SnapMirror over VPN / MPLS
Metadata
Direct Connect
Source Code
Metadata
Source Code
Main Datacenter
Scalability and Flexibility with NetApp Private Storage (NPS)• Provision on demand resources for bursty workloads
• Language and development tools agnostic
• Complete data control and location aware
• No lock-in with any Service provider or public cloud
• Distributed pre-build/build code for QA and system tests
NetApp Private Storage (NPS) p4 volumes in (Hybrid) Cloud
Perforce in Public Cloud
DevOps in Datacenter
Pre-Builds
Metadata Source Code
P4 Server
License Server
20
P4 Flex Demonstration
© 2016 NetApp, Inc. All rights reserved. --- NETAPP CONFIDENTIAL ---21
Developer’s advantage using NetApp technologyClaim to fame
Scale: 2units=1 minute
User WorkSpace CreationTime
72minsTraditional way using “rsync” takes >70minutes
Optimized way using NetApp takes <1 min.
Scale: 1unit = 1hour
Build completion Time
Traditional Build times
Build times using NetApp reduced by 50%
60TB
3TB
Storage Space Efficiencyduring Code Development,Unit tests and builds
Other Storage
Up to 40x Storage space reduction using NetApp
24hrs