Accelerate Develoment with VIrtual Data

78
Best Practices for Application Development: Removing the Data Constraint kylehailey.com [email protected] @virtdata

Transcript of Accelerate Develoment with VIrtual Data

Page 1: Accelerate Develoment with VIrtual Data

Best Practices for Application Development:

Removing the Data Constraint

kylehailey.com [email protected] @virtdata

Page 2: Accelerate Develoment with VIrtual Data

2© 2016 Delphix. All Rights Reserved. Private & Confidential.

Application Development is Critical

Technology

Disruption

“Software is eating the world.”

- Marc Andreessen

Increasing

Commoditization

Competitive

Pressures

Page 3: Accelerate Develoment with VIrtual Data

• Problem : Data Constraint• Solution : Virtual Data• Use Cases

In this presentation :

Page 4: Accelerate Develoment with VIrtual Data

The Phoenix Project

What is the constraint

in IT ?

Page 5: Accelerate Develoment with VIrtual Data

Put your energy into the constraint

Top 5 constraints in IT

1. Dev environments setup2. QA setup3. Code Architecture4. Development5. Product management

- Gene Kim Surveyed • 14000 companies• 100s of CIOs

Page 6: Accelerate Develoment with VIrtual Data

Flow of Features

6

1

DevelopmentEnvironments

2

QA & Testing Environments

Product ManagementFeatures

2 2

Code Architecture

3Code Speed

4

5

Data

Page 7: Accelerate Develoment with VIrtual Data

7

AutomationJenkins Team City Travis

Data

Virtualizatio

n

Configurati

on Chef Puppet Ansible Vagrant

Compute

Virtualizatio

n

?

Vmware OpenStack Docker

Page 8: Accelerate Develoment with VIrtual Data

Development Pipeline

Build Application

Build QAApp Machine

InstallApplication

ProvisionData Store(database)

Build QADB Machine

Page 9: Accelerate Develoment with VIrtual Data

9

Run QA tests

Destructive TestsRequire Refresh

New Code New Code

Page 10: Accelerate Develoment with VIrtual Data

Data Management not Agile

10

20% SDLC time lost waiting for data

60% dev/QA time consumed by data-related task

data management does not scale to

Agile

- Infosys & Compuware

Page 11: Accelerate Develoment with VIrtual Data

Data is the constraint

60% Projects Over Schedule

85% delayed waiting for data

Data is the Constraint

CIO Magazine Survey:

only getting worseGartner: Data Doomsday, by 2017 1/3rd IT in crisis

Page 12: Accelerate Develoment with VIrtual Data

Application Development Problems

12

• Not enough resources• Bad Data leading to bugs• Slow environment builds

Page 13: Accelerate Develoment with VIrtual Data

1. Not Enough Resources: shared bottlenecks

Frustration Waiting

Page 14: Accelerate Develoment with VIrtual Data

1. Not Enough Resources : bugs because of old data

Old Unrepresentative Data

Page 15: Accelerate Develoment with VIrtual Data

1. Not enough resources: limited environments

Page 16: Accelerate Develoment with VIrtual Data

2. Bad data lets to bugs: subsets

False NegativesFalse PositivesBugs in Production

Page 17: Accelerate Develoment with VIrtual Data

17

2. Bad data lets to bugs: Production Wall

Page 18: Accelerate Develoment with VIrtual Data

2. Bad data leads to bugs: late stage bugs

0

10

20

30

40

50

60

70

1 2 3 4 5 6 7

Cost ToCorrect

Dev QA UAT

Software Engineering Economics – Barry Boehm (1981)

Production

0

50

100

150

200

250

300

350

400

450

500

Dev Testing UAT Production

Page 19: Accelerate Develoment with VIrtual Data

19

PRODDEV DEV Test Test UAT

DBA

Sys Admin

Storage Admin

Legacy Data Movement: Slow & expensive

?

3. Slow environment builds: delays

Page 20: Accelerate Develoment with VIrtual Data

Developer Asks for DB

Get Access

Manager approves

DBA Request system

Setup DB

System Admin

Requeststorage

Setupmachine

Storage Admin

Allocate storage (take snapshot)

3. Slow environment builds: delays

Page 21: Accelerate Develoment with VIrtual Data

Why are hand offs so expensive?

1hour1 day

9 days

3. Slow environment builds: delays

Page 22: Accelerate Develoment with VIrtual Data

companies unaware

Page 23: Accelerate Develoment with VIrtual Data

Could I have a copy of the production DB ?

Developer, tester or AnalystBoss, Storage Admin, DBA

Page 24: Accelerate Develoment with VIrtual Data

Metrics

– Time – Old Data – Storage

Other – Analysts – Audits – Data Center Modernization

companies unaware

"we say no, no, no until we can't say no anymore" response when IT asked for copies of prod DB

Page 25: Accelerate Develoment with VIrtual Data

• Data Constraint• Solution• Use Cases

In this presentation :

Page 26: Accelerate Develoment with VIrtual Data

Development UATQA

99% of blocks are identical

Page 27: Accelerate Develoment with VIrtual Data

Solution

Page 28: Accelerate Develoment with VIrtual Data

Development QA UAT

Thin Clone

Page 29: Accelerate Develoment with VIrtual Data

29© 2015 Delphix. All Rights Reserved. Private & Confidential.

Install Delphix on Intel hardware

• .

• .

• .

• .

• .

• Data

• .

• Binaries

• Application Stacks

• EBS

• SAP

• Flat files

Page 30: Accelerate Develoment with VIrtual Data

30© 2015 Delphix. All Rights Reserved. Private & Confidential.

Allocate Any Storage to Delphix

Any Storage

Pure Storage + Delphix

Better Performance for

1/10 the cost

Page 31: Accelerate Develoment with VIrtual Data

31© 2015 Delphix. All Rights Reserved. Private & Confidential.

One time backup of source database

Data is

compressed

typically 1/3

size

Production

3 TB1 TB

Page 32: Accelerate Develoment with VIrtual Data

32

PRODDEV DEV Test Test UAT

Data as a Service : fast, elastic, secure

Self Service

Page 33: Accelerate Develoment with VIrtual Data

Three Physical CopiesThree Virtual Copies

Data Virtualization Appliance

Page 34: Accelerate Develoment with VIrtual Data

34

PRODDEV DEV Test Test UAT

DBA

Sys Admin

Storage Admin

Legacy Data Movement: Slow & expensive

?

Page 35: Accelerate Develoment with VIrtual Data

35

PRODDEV DEV Test Test UAT

Data as a Service : fast, elastic, secure

Self Service

Page 36: Accelerate Develoment with VIrtual Data

• Problem in the Industry• Solution• Use Cases

Page 37: Accelerate Develoment with VIrtual Data

1. Development & QA2. Production Support3. Business

Use Cases

Page 38: Accelerate Develoment with VIrtual Data

Development: Virtual Data

Development

Page 39: Accelerate Develoment with VIrtual Data

Virtual Data: Easy

Source

Clone 1

Clone 2

Clone 3

Virtual Data Appliance

Page 40: Accelerate Develoment with VIrtual Data

Virtual Data: Parallelize

gif by Steve Karam

Page 41: Accelerate Develoment with VIrtual Data

Virtual Data: Full size

Page 42: Accelerate Develoment with VIrtual Data

Virtual Data: Self Service

Page 43: Accelerate Develoment with VIrtual Data

Virtual Data: Self ServiceSelf Service

Page 44: Accelerate Develoment with VIrtual Data

Environments: almost unlimited

Page 45: Accelerate Develoment with VIrtual Data

QA : Virtual Data• Fast • Parallel• A/B testing

Page 46: Accelerate Develoment with VIrtual Data

Physical Data : late stage bugs

0

10

20

30

40

50

60

70

1 2 3 4 5 6 7

Cost ToCorrect

Dev QA UAT

Software Engineering Economics – Barry Boehm (1981)

Production

0

50

100

150

200

250

300

350

400

450

500

Dev Testing UAT Production

Bugs Discovered Legacy

Page 47: Accelerate Develoment with VIrtual Data

Physical Data : find bugs fast

Dev QA UAT Production

Dev Testing UAT Production

0

10

20

30

40

50

60

70

1 2 3 4 5 6 7

Cost ToCorrect

Page 48: Accelerate Develoment with VIrtual Data

The Impact: Shift Left in Quality

0

50

100

150

200

250

300

350

400

450

500

Dev Testing UAT Production

Bugs Discovered Legacy

Dev Testing UAT Production

With Delphix

Page 49: Accelerate Develoment with VIrtual Data

Production Time Flow

Dev

QA

Instance

ProdVirtual Data Appliance

• Fast

• Full Size

• Run Parallel QA

Virtual Data : Parallel

Page 50: Accelerate Develoment with VIrtual Data

Virtual Data: Rewind

DVAInstance

QA

Prod

Production Time Flow

Page 51: Accelerate Develoment with VIrtual Data

Virtual Data : Fast Refresh

51

20 MIN TEST 20 MIN TEST 20 MIN TEST 20 MIN TEST 20 MIN TEST 20 MIN TEST 20 MIN TEST

• Fast

• Full

• Fresh

• Efficient

8 Hrs8 Hrs8 Hrs8 Hrs8 Hrs8 Hrs8 Hrs 8 Hrs

20 MIN

TEST

Page 52: Accelerate Develoment with VIrtual Data

Virtual Data: A/B

DVAInstance

Instance

Instance

Index 1

Index 2

Production Time Flow

Page 53: Accelerate Develoment with VIrtual Data

Virtual Data: Version Control

1/27/2016 53

Dev

QA

2.1

Dev

QA

2.2

2.1 2.2

Instance

Prod

DVA Production Time Flow

Page 54: Accelerate Develoment with VIrtual Data

1. Development and QA2. Production Support3. Business

Use Cases

Page 55: Accelerate Develoment with VIrtual Data

• Recovery• Forensics• Migration

Production Support

Page 56: Accelerate Develoment with VIrtual Data

9TB database 1TB change day : 30 days

0

10

20

30

40

50

60

70w

eek

1

wee

k 2

wee

k 3

wee

k 4

original

Oracle

Delphix

StorageRequired(TB)

Days

Page 57: Accelerate Develoment with VIrtual Data

Virtual Data: Recovery

Instance

Instance

Recover VDB

Drop

Source

DVA Production Time Flow

Page 58: Accelerate Develoment with VIrtual Data

Virtual Data: Forensics

Instance

Development

DVA

Source

Production Time Flow

Page 59: Accelerate Develoment with VIrtual Data

Virtual Data: Development recovery

Instance

Development

DVA

Source

Development

Prod & VDB Time Flow

Page 60: Accelerate Develoment with VIrtual Data

Virtual Data: Migration

Page 61: Accelerate Develoment with VIrtual Data

Cloud Migration and Replication

61

Page 62: Accelerate Develoment with VIrtual Data

Production Dev, QA, UAT Reporting Backup

Security problem

Page 63: Accelerate Develoment with VIrtual Data

Production Dev, QA, UAT Reporting Sandbox

Security management improvement

Page 64: Accelerate Develoment with VIrtual Data

ProductionDev, QA, UAT Reporting Sandbox

Security Solution

Page 65: Accelerate Develoment with VIrtual Data

1. Development and QA2. Production Support3. Business Continuity

Use Cases

Page 66: Accelerate Develoment with VIrtual Data

Business Intelligence

• Audits• ETL• Temporal• Federated data• Consolidated data

Page 67: Accelerate Develoment with VIrtual Data

Production Time Flow

Virtual Data: Audit

1/27/2016 67

Instance

Prod

DVA

Live Archive

Live Archive data for years• Archive EBS R11 before upgrade to R12• Sarbanes-Oxley• Dodd-Frank• Financial Stress tests

Page 68: Accelerate Develoment with VIrtual Data

Business Intelligence: ETL and Refresh Windows

1pm 10pm 8amnoon

Page 69: Accelerate Develoment with VIrtual Data

• Collect only Changes• Refresh in minutes

Instance

Prod

BI and DW

ETL24x7

DVA

Virtual Data: Fast Refreshes

Time Flow

Page 70: Accelerate Develoment with VIrtual Data

Modernization: Federated

Instance

Instance

Source1

Source2

Production Time Flow 1

Production Time Flow 2

Page 71: Accelerate Develoment with VIrtual Data

Physical Data: Federated

Page 72: Accelerate Develoment with VIrtual Data

“I looked like a hero”Tony Young, CIO Informatica

Virtual Data: Federated

Page 73: Accelerate Develoment with VIrtual Data

1. Development & QA– Dev throughput increase by 2x

2. Production Support– 30 days in size of source

3. Business Continuity– 24x7 ETL & federated cloning

Use Case Summary

Page 74: Accelerate Develoment with VIrtual Data

74

AutomationJenkins Team City Travis

Data

Virtualizatio

n

Configurati

on Chef Puppet Ansible

Compute

Virtualizatio

n Vmware OpenStack Docker

? ? ? ?

Page 75: Accelerate Develoment with VIrtual Data

75

AutomationJenkins Team City Travis

Data

Virtualizatio

n

Configurati

on Chef Puppet Ansible

Compute

Virtualizatio

n Vmware OpenStack Docker

Page 76: Accelerate Develoment with VIrtual Data

• Projects “12 months to 6 months.”– New York Life

• Insurance product “about 50 days ... to about 23 days”– Presbyterian Health

• “Can't imagine working without it”– State of California

Virtual Data Quotes

Page 77: Accelerate Develoment with VIrtual Data

• Problem: Data constraint • Solution: Data Virtualization

Summary

Page 78: Accelerate Develoment with VIrtual Data

Thank you!

• Kyle Hailey - Technical Evangelist (Oracle Ace, Oaktable)

[email protected]

– kylehailey.com

– slideshare.net/khailey

– @virtdata