22
Accelerating Software Development with NetApp's P4flex Bikash Roy Choudhury Narjit Chadha

Accelerating Software Development with NetApp's P4flex

Embed Size (px)

Citation preview

Page 1: Accelerating Software Development with NetApp's P4flex

Accelerating Software Development with NetApp's P4flexBikash Roy ChoudhuryNarjit Chadha

Page 2: Accelerating Software Development with NetApp's P4flex

2

Agenda

Introduction

What is p4flex?• Components• Workflows

Perforce in AWS and Hybrid Cloud Model

Key Takeaways

P4flex Demo

Page 3: Accelerating Software Development with NetApp's P4flex

© 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

Page 4: Accelerating Software Development with NetApp's P4flex

© 2015 NetApp, Inc. All rights reserved. NetApp Confidential – Limited Use 4

Challenges in Application development environment

Managing Risk Speed

Economics Scale

Page 5: Accelerating Software Development with NetApp's P4flex

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

Page 6: Accelerating Software Development with NetApp's P4flex

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

Page 7: Accelerating Software Development with NetApp's P4flex

© 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

Page 8: Accelerating Software Development with NetApp's 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

Page 9: Accelerating Software Development with NetApp's P4flex

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

Page 10: Accelerating Software Development with NetApp's P4flex

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

Page 11: Accelerating Software Development with NetApp's P4flex

P4 Flex Components

P4 FLEX:• broker.cfg• flex.cfg• flex.py

P4 Client

p4broker P4D Server

P4 Client

P4 Client

Page 12: Accelerating Software Development with NetApp's P4flex

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.

Page 13: Accelerating Software Development with NetApp's P4flex

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.

Page 14: Accelerating Software Development with NetApp's P4flex

Workflow

Create a Volume & add content

Snapshot a Volume

Cloned by a User

Clean up

Page 15: Accelerating Software Development with NetApp's P4flex

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

Page 16: Accelerating Software Development with NetApp's P4flex

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.

Page 17: Accelerating Software Development with NetApp's P4flex

Workflow

3. Clone the volume p4 volumes p4 snapshots p4 flex clone -VprojACE -Ssnap1 myClone

-Mounts the clone & places P4CONFIG /p4/myClone .p4config

Page 18: Accelerating Software Development with NetApp's P4flex

Workflow Clean up Clones

p4 clones p4 clone -d myClone

Clean up Volumes p4 volumes p4 volume -d projACE

(snapshots automatically removed)

Page 19: Accelerating Software Development with NetApp's P4flex

© 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

Page 20: Accelerating Software Development with NetApp's P4flex

20

P4 Flex Demonstration

Page 21: Accelerating Software Development with NetApp's P4flex

© 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