124
Accelerating DevOps with Virtual Data 1 http://kylehailey.com [email protected] Tim Gorman [email protected]

Denver devops : enabling DevOps with data virtualization

Embed Size (px)

DESCRIPTION

Enabling DevOps and Continuous Integration with data virtualization

Citation preview

Page 1: Denver devops : enabling DevOps with data virtualization

Accelerating DevOps with Virtual Data

1

http://[email protected]

Tim [email protected]

Page 2: Denver devops : enabling DevOps with data virtualization

© 2014 Delphix. All Rights Reserved Private and confidential 2

Accelerating the tempo of application development

Fortune 1 Retailer #1 Social Network #1 Financial Services #1 Network Equipment #1 Cable

#1 Wholesale #1 Food Service Co. #1 Office Supplies #1 Apparel & Footwear #1 Chip Manufacturing

#1 Pharma #1 Auction Marketplace #1 Total Healthcare #1 Aerospace #1 Computer Access

#1 CPG #1 ETL Software #1 Availability Service #1 Mutual Life Ins. #1 Satellite TV

#1 State Gov #1 Cruise Line #1 Retirement Fund #1 IT Services #1 Game Software

Page 3: Denver devops : enabling DevOps with data virtualization

Are you too busy to Innovate?

Inertia

Page 4: Denver devops : enabling DevOps with data virtualization

What is DevOps = tools + culture

• Culture :

– Empathy

– Collaboration

– Bridging silos, avoid blame

• Tools :

– Automation

– Measurement

– Self-service

4

Page 5: Denver devops : enabling DevOps with data virtualization

Note: DevOps > Tools + Culture

DevOps= optimizing flow from Dev to Ops to Pro

5

“Do not seek to follow in the footsteps of the wise. Seek what they sought”

- Matsuo Bashō

Goal = company’s bottom line

Page 6: Denver devops : enabling DevOps with data virtualization

The Goal : Theory of Constraints

Improvementnot made at the constraintis an illusion

factory floor optimization

Page 7: Denver devops : enabling DevOps with data virtualization

Factory floor

Page 8: Denver devops : enabling DevOps with data virtualization

Factory floor

constraint

Not a relay race

Page 9: Denver devops : enabling DevOps with data virtualization

Tune before constraint

constraint

Tuning here

Stock piling

Page 10: Denver devops : enabling DevOps with data virtualization

Tune after constraint

constraint

Tuning here

Starvation

Page 11: Denver devops : enabling DevOps with data virtualization

Factory floor : straight forward

constraint

Goal: find constraint optimize it

Page 12: Denver devops : enabling DevOps with data virtualization

Theory of Constraints work for IT ?

• Goals Clarify • Metrics Define • Constraints Identify • Priorities Set • Iterations Fast

• CI• Cloud • Agile • Kanban• Kata

“IT is the factory floor of this century”

Page 13: Denver devops : enabling DevOps with data virtualization

The Phoenix Project

What is the constraint

in IT ?

Page 14: Denver devops : enabling DevOps with data virtualization

What are the top 5 constraints in IT?

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

- Gene Kim

“One of the most powerful things that organizations can do is to enable development and testing to get environment they need when they need it“

Page 15: Denver devops : enabling DevOps with data virtualization

Data is the constraint

60% Projects Over Schedule

85% delayed waiting for data

Data is the Constraint

CIO Magazine Survey:

only getting worse

Gartner: Data Doomsday, by 2017 1/3rd IT in crisis

Page 16: Denver devops : enabling DevOps with data virtualization

• Data Constraint• Solution• Use Cases

In this presentation :

Page 17: Denver devops : enabling DevOps with data virtualization

• Data Constraint• Solution• Use Cases

Page 18: Denver devops : enabling DevOps with data virtualization

– Storage & Systems– Personnel – Time

moving data is hard

Page 19: Denver devops : enabling DevOps with data virtualization

Typical Architecture

Production

Instance

File system

Database

Page 20: Denver devops : enabling DevOps with data virtualization

Typical Architecture

Production

Instance

Backup

File system

Database

File system

Database

Page 21: Denver devops : enabling DevOps with data virtualization

Typical Architecture

Production

Instance

Reporting Backup

File system

Database

Instance

File system

Database

File system

Database

Page 22: Denver devops : enabling DevOps with data virtualization

Typical Architecture

Production

Instance

File system

Database

Instance

File system

Database

File system

Database

File system

Database

InstanceInstance

Instance

File system

Database

File system

Database

Dev, QA, UAT Reporting Backup

Triple Tax

Page 23: Denver devops : enabling DevOps with data virtualization

Typical Architecture

Production

Instance

File system

Database

Instance

File system

Database

File system

Database

File system

Database

InstanceInstance

Instance

File system

Database

File system

Database

Page 24: Denver devops : enabling DevOps with data virtualization

Data floods infrastructure

92% of the cost of business,

in financial services business , is “data”

www.wsta.org/resources/industry-articles

Most companies average5% IT spending , ½ on “data”

http://uclue.com/?xq=1133

Page 25: Denver devops : enabling DevOps with data virtualization

1. IT Capital resources $2. IT Operations personnel $3. Application Development $$$4. Business $$$$$$$

Four Areas hit by data constraint

Page 26: Denver devops : enabling DevOps with data virtualization

–Servers–Storage–Network–Data center floor space, power, cooling

1. Hardware – copies take up space

Page 27: Denver devops : enabling DevOps with data virtualization

$ Never enough environments

Page 28: Denver devops : enabling DevOps with data virtualization

• People 1000s hours per year just for DBAs – DBAs– SYS Admin– Storage Admin– Backup Admin – Network Admin

• $100s Millions for data center modernizations

$ IT Operations – copying data takes people time

Page 29: Denver devops : enabling DevOps with data virtualization

• Inefficient QA: Higher costs of QA• QA Delays : Greater re-work of code• Sharing DB Environments : Bottlenecks• Using DB Subsets: More bugs in Prod• Slow Environment Builds: Delays

$ Application Development – wait for copies

Page 30: Denver devops : enabling DevOps with data virtualization

Ability to capture revenue

• Business Applications – Delays cause lost revenue

• Business Intelligence – Old data = less intelligence

$ Business – decisions depend on data access

Page 31: Denver devops : enabling DevOps with data virtualization

companies unaware

Page 32: Denver devops : enabling DevOps with data virtualization

companies unaware

Developer or AnalystBoss, Storage Admin, DBA

Page 33: Denver devops : enabling DevOps with data virtualization

Metrics

– Time – Old Data – Storage

Other – Analysts – Audits

companies unaware

Page 34: Denver devops : enabling DevOps with data virtualization

1. Bottlenecks2. Waiting for environments3. Waiting to check in code4. Production Bugs5. Expensive Slow QA

What Problems does Data Constraint Cause

Page 35: Denver devops : enabling DevOps with data virtualization

Your Project

Available Resources

Page 36: Denver devops : enabling DevOps with data virtualization
Page 37: Denver devops : enabling DevOps with data virtualization

Development : bottlenecks

Frustration Waiting

Page 38: Denver devops : enabling DevOps with data virtualization

Development : Bugs

Old Unrepresentative Data

Page 39: Denver devops : enabling DevOps with data virtualization

Development : subsets

False NegativesFalse PositivesBugs in Production

Page 40: Denver devops : enabling DevOps with data virtualization

Production Wall

40

Page 41: Denver devops : enabling DevOps with data virtualization

Development : silos

Page 42: Denver devops : enabling DevOps with data virtualization

QA : Long Build times

BugX

010203040506070

1 2 3 4 5 6 7

Delay in Fixing the bug

Cost ToCorrect

Software Engineering Economics – Barry Boehm (1981)

Page 43: Denver devops : enabling DevOps with data virtualization

DevOps and Data : Impossible?

Life with Waterfall

Dream of Agile & CI

Page 44: Denver devops : enabling DevOps with data virtualization

Waterfall vs Agile

44

Page 45: Denver devops : enabling DevOps with data virtualization

GoalAgile & CI Achieved !

Missed !

Agile & CI vs Waterfall

Page 46: Denver devops : enabling DevOps with data virtualization

bugs

time

GoalAgile & CI Achieved !

Missed !

Bugs

Page 47: Denver devops : enabling DevOps with data virtualization

profit

time

GoalAgile & CI Achieved !

Missed !

Profit

Page 48: Denver devops : enabling DevOps with data virtualization

GoalAgile & CI Achieved !

Missed !

CostPer Deployment time

Cost per Deployment

Page 49: Denver devops : enabling DevOps with data virtualization

• Data & DevOps : Impossible ?• 20 copies of production a day for CI • Each copy is like

DevOps and Data : Impossible?

Page 50: Denver devops : enabling DevOps with data virtualization

• Data Constraint

• Solution• Use Cases

In this presentation :

Page 51: Denver devops : enabling DevOps with data virtualization

Clone 1 Clone 3Clone 2

99% of blocks are identical

Page 52: Denver devops : enabling DevOps with data virtualization

Solution

Page 53: Denver devops : enabling DevOps with data virtualization

Clone 1 Clone 2 Clone 3

Thin Clone

Page 54: Denver devops : enabling DevOps with data virtualization

• EMC – 16 snapshots on Symmetrix– Write performance impact– No snapshots of snapshots

• Netapp– 255 snapshots

• ZFS– Compression– Unlimited snapshots– Snapshots of Snapshots

• DxFS– “”– Storage agnostic– Shared cache in memory

Technology Core : file system snapshots

Also check out new SSD storage such as:Pure Storage, EMC XtremIO

Page 55: Denver devops : enabling DevOps with data virtualization

Fuel not equal car

Challenges

1. Technical2. Bureaucracy

Page 56: Denver devops : enabling DevOps with data virtualization

Bureaucracy

Developer Asks for DB Get Access

Manager approves

DBA Request system

Setup DB

System Admin

Requeststorage

Setupmachine

Storage Admin

Allocate storage (take snapshot)

Page 57: Denver devops : enabling DevOps with data virtualization

Why are hand offs so expensive?

1hour1 day

9 days

Bureaucracy

Page 58: Denver devops : enabling DevOps with data virtualization

Technical Challenge

Database Luns

Production FilerTarget A

Target B

Target C

snapshotclones

InstanceInstance

InstanceInstance

InstanceInstance

InstanceInstance

Instance

Source

Page 59: Denver devops : enabling DevOps with data virtualization

Database LUNs

snapshot

clonesProduction Filer

Development Filer

Technical Challenge

Instance

Target A

Target B

Target C

InstanceInstance

InstanceInstance

InstanceInstance

Instance

Page 60: Denver devops : enabling DevOps with data virtualization

Technical Challenge

Copy

Time Flow

Purge

Production

File System Instance

DevelopmentStorage

21 3

Clone (snapshot)

Compress

Share Cache

Provision

Mount, recover, rename

Self Service, Roles & Security

Instance

Page 61: Denver devops : enabling DevOps with data virtualization

– EMC + SRDF

– Netapp + SMO

– Oracle EM 12c + data guard + Netapp /ZFS

– Actifio - hardware

– Delphix - software

2 1

2 1

3 1 2

How to get a Data Virtualization?

Sourcesync

Deployautomation

Storagesnapshots

21 3

Page 62: Denver devops : enabling DevOps with data virtualization

Goal : virtualize, govern, deliver

62

• Masking: Masking• Security: Chain of custody• Self Service: Logins• Developer: Versioning , branching• Audit: Live Archive

Snap Shots

Thin Cloning

Data Virtualization

Data Supply Chain

Page 63: Denver devops : enabling DevOps with data virtualization

Dev

Prod

2.6

Dev finishes a sprint or point release and QA forks off a clone virtual database from Dev database

Production Time Flow

Page 64: Denver devops : enabling DevOps with data virtualization

Dev

QA

Prod

2.6

Continuous integrationNightly or hourly regressions

Production Time Flow

Page 65: Denver devops : enabling DevOps with data virtualization

Dev

QA

Prod

2.6

Dev finishes a sprint or point release and QA forks off a clone virtual database from Dev database

Production Time Flow

Page 66: Denver devops : enabling DevOps with data virtualization

Dev

QA

Prod

2.6

Dev finishes a sprint or point release and QA forks off a clone virtual database from Dev database

Production Time Flow

UAT

Page 67: Denver devops : enabling DevOps with data virtualization

Prod

2.7

Dev

QA

UAT

Production Time Flow

UAT

QA

Dev

2.6

Page 68: Denver devops : enabling DevOps with data virtualization

Intel hardware

DB2DataFile SystemsBinaries

Install Delphix on x86 hardware

Page 69: Denver devops : enabling DevOps with data virtualization

Allocate Any Storage to Delphix

Allocate StorageAny type

Pure Storage + DelphixBetter Performance for 1/10 the cost

Page 70: Denver devops : enabling DevOps with data virtualization

One time backup of source database

Database

Production

File systemFile system

InstanceInstanceInstance

Page 71: Denver devops : enabling DevOps with data virtualization

DxFS (Delphix) Compress Data

Database

Production

Data is compressed typically 1/3 size

File system

InstanceInstanceInstance

Page 72: Denver devops : enabling DevOps with data virtualization

Incremental forever change collection

Database

Production

File system

Changes

• Collected incrementally forever• Old data purged

File system

Time Window

Production

InstanceInstanceInstance

Page 73: Denver devops : enabling DevOps with data virtualization

Snapshot 1 – full backup once only at link time

Jonathan Lewis © 2013 Virtual DB

73 / 30

a b c d e f g h i

We start with a full backup - analogous to a level 0 rman backup. Includes

the archived redo log files needed for recovery. Run in archivelog mode.

Page 74: Denver devops : enabling DevOps with data virtualization

Snapshot 2 (from SCN)

Jonathan Lewis © 2013

b' c'

a b c d e f g h i

The "backup from SCN" is analogous to a level 1

incremental backup (which includes the relevant

archived redo logs). Sensible to enable BCT.

Delphix executes standard rman scripts

Page 75: Denver devops : enabling DevOps with data virtualization

Apply Snapshot 2

Jonathan Lewis © 2013

a b c d e f g h ib' c'

The Delphix appliance unpacks the rman backup and "overwrites" the

initial backup with the changed blocks - but DxFS makes new copies of

the blocks

Page 76: Denver devops : enabling DevOps with data virtualization

Drop Snapshot 1

Jonathan Lewis © 2013

b' c'a d e f g h i

The call to rman leaves us with a new level 0 backup, waiting for recovery.

But we can pick the snapshot root block. We have EVERY level 0 backup

Page 77: Denver devops : enabling DevOps with data virtualization

Creating a vDB

Jonathan Lewis © 2013

b' c'a d e f g h i

The first step in creating a vDB is to take a snapshot of the filesystem as at

the backup you want (then roll it forward)

My vDB(filesystem)

Your vDB(filesystem)

b' c'a d e f g h i

Page 78: Denver devops : enabling DevOps with data virtualization

Creating a vDB

Jonathan Lewis © 2013

b' c'a d e f g h i

The first step in creating a vDB is to take a snapshot of the filesystem as at

the backup you want (then roll it forward)

My vDB(filesystem)

Your vDB(filesystem)

i’b' c'a d e f g h ib' c'a d e f g h i

Page 79: Denver devops : enabling DevOps with data virtualization

Database Virtualization

Page 80: Denver devops : enabling DevOps with data virtualization

Three Physical CopiesThree Virtual Copies

Data Virtualization Appliance

Page 81: Denver devops : enabling DevOps with data virtualization

Before Virtual Data

Production Dev, QA, UAT

Instance

Reporting Backup

File system

Database

Instance

File system

Database

File system

Database

File system

Database

InstanceInstance

Instance

File system

Database

File system

Database

“triple data

tax”

Page 82: Denver devops : enabling DevOps with data virtualization

With Virtual DataProduction

Instance

Database

Dev & QA

Instance

Database

Reporting

Instance

Database

Backup

Instance Instance Instance

Database

InstanceInstance

Database

InstanceInstance

File system

Database

Data Virtualization Appliance

Page 83: Denver devops : enabling DevOps with data virtualization

• Problem in the Industry• Solution• Use Cases

Page 84: Denver devops : enabling DevOps with data virtualization

1. Development and QA 2. Production Support3. Business

Use Cases

Page 85: Denver devops : enabling DevOps with data virtualization

1. Development and QA2. Production Support3. Business

Use Cases

Page 86: Denver devops : enabling DevOps with data virtualization

Development: Virtual Data

• Unlimited • Full size • Self Service

Development

Page 87: Denver devops : enabling DevOps with data virtualization

Virtual Data: Easy

Instance

Instance

Instance

Instance

Source

DVA

Page 88: Denver devops : enabling DevOps with data virtualization

Development Virtual Data: Parallelize

gif by Steve Karam

Page 89: Denver devops : enabling DevOps with data virtualization

Development Virtual Data: Full size

Page 90: Denver devops : enabling DevOps with data virtualization

Development Virtual Data: Self Service

Page 91: Denver devops : enabling DevOps with data virtualization

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

Page 92: Denver devops : enabling DevOps with data virtualization

Dev

QA

Instance

Prod

DVA

• Low Resource

• Find bugs Fast

QA Virtual Data : Fast

Production Time Flow

Page 93: Denver devops : enabling DevOps with data virtualization

QA with Virtual Data: Rewind

Instance

QA

Prod

Production Time Flow

Page 94: Denver devops : enabling DevOps with data virtualization

QA with Virtual Data: A/B

Instance

Instance

Instance

Index 1

Index 2

Production Time Flow

Page 95: Denver devops : enabling DevOps with data virtualization

Data Version Control

11/11/2014 95

Dev

QA

2.1

Dev

QA

2.2

2.1 2.2

Instance

Prod

DVA Production Time Flow

Page 96: Denver devops : enabling DevOps with data virtualization

1. Development and QA2. Production Support3. Business

Use Cases

Page 97: Denver devops : enabling DevOps with data virtualization

• Backups• Recovery• Forensics• Migration• Consolidation

Recovery

Page 98: Denver devops : enabling DevOps with data virtualization

9TB database 1TB change day 30 day backups storage requirements

98

0

10

20

30

40

50

60

70

wee

k 1

wee

k 2

wee

k 3

wee

k 4

original

Oracle

Delphix

Page 99: Denver devops : enabling DevOps with data virtualization

Recovery

Instance

Instance

Recover VDB

Drop

Source

DVA Production Time Flow

Page 100: Denver devops : enabling DevOps with data virtualization

Forensics

Instance

Development

DVA

Source

Production Time Flow

Page 101: Denver devops : enabling DevOps with data virtualization

Development (the new production)

Instance

Development

DVA

Source

Development

Prod & VDB Time Flow

X

Page 102: Denver devops : enabling DevOps with data virtualization

Migration

Page 103: Denver devops : enabling DevOps with data virtualization

Consolidation

Page 104: Denver devops : enabling DevOps with data virtualization

1. Development and QA2. Production Support3. Business Intelligence

Use Cases

Page 105: Denver devops : enabling DevOps with data virtualization

Business Intelligence

• ETL• Temporal• Confidence Testing• Federated Databases• Audits

Page 106: Denver devops : enabling DevOps with data virtualization

Business Intelligence: ETL and Refresh Windows

1pm 10pm 8amnoon

Page 107: Denver devops : enabling DevOps with data virtualization

Business Intelligence: batch taking too long

1pm 10pm 8amnoon

2011

2012

2013

2014

2015

Page 108: Denver devops : enabling DevOps with data virtualization

2011

2012

2013

2014

2015

1pm 10pm 8amnoon

10pm 8am noon 9pm

6am 8am 10pm

Page 109: Denver devops : enabling DevOps with data virtualization

Business Intelligence: ETL and DW Refreshes

Instance

Prod

Instance

DW & BI

Page 110: Denver devops : enabling DevOps with data virtualization

• Collect only Changes• Refresh in minutes

Instance

Prod

BI and DW

ETL24x7

DVA

Virtual Data: Fast Refreshes

Production Time Flow

Page 111: Denver devops : enabling DevOps with data virtualization

Temporal Data

Page 112: Denver devops : enabling DevOps with data virtualization

Confidence testing

Page 113: Denver devops : enabling DevOps with data virtualization

Modernization: Federated

Instance

Instance

Source1

Source2

DVAProduction Time Flow 1

Production Time Flow 2

Page 114: Denver devops : enabling DevOps with data virtualization

Modernization: Federated

Page 115: Denver devops : enabling DevOps with data virtualization

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

Modernization: Federated

Page 116: Denver devops : enabling DevOps with data virtualization

Production Time Flow

Audit

11/11/2014 116

Instance

Prod

DVA

Live Archive

Page 117: Denver devops : enabling DevOps with data virtualization

1. Development & QA2. Production Support3. Business

Use Case Summary

Page 118: Denver devops : enabling DevOps with data virtualization

How expensive is the Data Constraint?

DVA at Fortune 500 :

Dev throughput increase by 2x

Page 119: Denver devops : enabling DevOps with data virtualization

Faster

• Financial Close• BI refreshes• Surgical recovery• Projects

How expensive is the Data Constraint?

Page 120: Denver devops : enabling DevOps with data virtualization

• 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 121: Denver devops : enabling DevOps with data virtualization
Page 122: Denver devops : enabling DevOps with data virtualization

• Problem: Data is the constraint • Solution: Virtualize Data• Results:

• Half the time for projects• Higher quality• Increase revenue

Summary

Page 123: Denver devops : enabling DevOps with data virtualization

Thank you!

• Kyle Hailey| Oracle ACE and Technical Evangelist, Delphix– [email protected]

– kylehailey.com

– slideshare.net/khailey

Page 124: Denver devops : enabling DevOps with data virtualization

124