bgoug "agile data: revolutionizing database cloning

112
Agile Data: Revolutionizing database cloning 1 http://kylehailey.com [email protected] Tim Gorman [email protected]

Upload: kyle-hailey

Post on 11-Jul-2015

389 views

Category:

Software


2 download

TRANSCRIPT

Page 1: BGOUG  "Agile Data: revolutionizing database cloning

Agile Data: Revolutionizing database cloning

1

http://[email protected]

Tim [email protected]

Page 2: BGOUG  "Agile Data: revolutionizing database cloning

Are you too busy to Innovate?

Inertia

A new way : Welcome Agile & DevOps!

Page 3: BGOUG  "Agile Data: revolutionizing database cloning

Waterfall, Agile, Devops

• Waterfall

• Agile

• Agile with Continuous Deploy

Continuous Deploy requires DevOps

Design Code test Deploy

Design Code test Code test DeployCode test Code test

Design

Page 4: BGOUG  "Agile Data: revolutionizing database cloning

What is DevOps = tools + culture

• Culture :

– Bridging silos between Dev & Ops

– Empathy avoid blame

– Collaboration

• Tools :

– Automation VMs, Puppet, Jenkins

– Self-service

– Measurement

4

Page 5: BGOUG  "Agile Data: revolutionizing database cloning

Note: DevOps > Tools + Culture

DevOps Goal= optimizing flow from Dev to Ops to Pro

5

Don’t copy steps. Copy the goal

Goal = company’s bottom line

Page 6: BGOUG  "Agile Data: revolutionizing database cloning

GoalAgile & CI Achieved !

Missed !

Agile & CI vs Waterfall

Page 7: BGOUG  "Agile Data: revolutionizing database cloning

bugs

time

GoalAgile & CI Achieved !

Missed !

Bugs

Page 8: BGOUG  "Agile Data: revolutionizing database cloning

profit

time

GoalAgile & CI Achieved !

Missed !

Profit

Page 9: BGOUG  "Agile Data: revolutionizing database cloning

GoalAgile & CI Achieved !

Missed !

CostPer Deployment time

Cost per Deployment

Page 10: BGOUG  "Agile Data: revolutionizing database cloning

DevOps and Data : Impossible?

Waterfall

Agile & DevOps

DevOps Goal= optimizing flow from Dev to Ops to Pro

Big Software Release

Small Continuous Releases

Page 11: BGOUG  "Agile Data: revolutionizing database cloning

The Goal : Theory of Constraints

Improvementnot made at the constraintis an illusion

factory floor optimization

Page 12: BGOUG  "Agile Data: revolutionizing database cloning

Factory floor

Page 13: BGOUG  "Agile Data: revolutionizing database cloning

Factory floor

constraint

Not a relay race

Page 14: BGOUG  "Agile Data: revolutionizing database cloning

Tune before constraint

constraint

Tuning here

Stock piling

Page 15: BGOUG  "Agile Data: revolutionizing database cloning

Tune after constraint

constraint

Tuning here

Starvation

Page 16: BGOUG  "Agile Data: revolutionizing database cloning

Factory floor : straight forward

constraint

Goal: find constraint optimize it

Page 17: BGOUG  "Agile Data: revolutionizing database cloning

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 18: BGOUG  "Agile Data: revolutionizing database cloning

The Phoenix Project

What is the constraint

in IT ?

Page 19: BGOUG  "Agile Data: revolutionizing database cloning

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 20: BGOUG  "Agile Data: revolutionizing database cloning

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 21: BGOUG  "Agile Data: revolutionizing database cloning

• Data Constraint• Solution• Use Cases

In this presentation :

Page 22: BGOUG  "Agile Data: revolutionizing database cloning

• Data Constraint• Solution• Use Cases

Page 23: BGOUG  "Agile Data: revolutionizing database cloning

Typical Architecture

Production

Instance

File system

Database

Page 24: BGOUG  "Agile Data: revolutionizing database cloning

Typical Architecture

Production

Instance

Backup

File system

Database

File system

Database

Page 25: BGOUG  "Agile Data: revolutionizing database cloning

Typical Architecture

Production

Instance

Reporting Backup

File system

Database

Instance

File system

Database

File system

Database

Page 26: BGOUG  "Agile Data: revolutionizing database cloning

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 27: BGOUG  "Agile Data: revolutionizing database cloning

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 28: BGOUG  "Agile Data: revolutionizing database cloning

– Storage & Systems– Personnel – Time

moving data is hard

Page 29: BGOUG  "Agile Data: revolutionizing database cloning

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

copies take up space

Page 30: BGOUG  "Agile Data: revolutionizing database cloning

Never enough environments

Page 31: BGOUG  "Agile Data: revolutionizing database cloning

Your Project

Available Resources

Page 32: BGOUG  "Agile Data: revolutionizing database cloning

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

• $100s Millions for data center modernizations

Copies require People & Time

Page 33: BGOUG  "Agile Data: revolutionizing database cloning

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 34: BGOUG  "Agile Data: revolutionizing database cloning

companies unaware

Page 35: BGOUG  "Agile Data: revolutionizing database cloning

companies unaware

Developer or AnalystBoss, Storage Admin, DBA

Page 36: BGOUG  "Agile Data: revolutionizing database cloning

Metrics

– Time – Old Data – Storage

Other – Analysts – Audits

companies unaware

Page 37: BGOUG  "Agile Data: revolutionizing database cloning

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

What Problems does Data Constraint Cause

Page 38: BGOUG  "Agile Data: revolutionizing database cloning

Development : waiting

Page 39: BGOUG  "Agile Data: revolutionizing database cloning

Development : bottlenecks

Frustration Waiting

Page 40: BGOUG  "Agile Data: revolutionizing database cloning

Development : Bugs

Old Unrepresentative Data

Page 41: BGOUG  "Agile Data: revolutionizing database cloning

Development : subsets

False NegativesFalse PositivesBugs in Production

Page 42: BGOUG  "Agile Data: revolutionizing database cloning

Production Wall

42

Page 43: BGOUG  "Agile Data: revolutionizing database cloning

Development : silos

Page 44: BGOUG  "Agile Data: revolutionizing database cloning

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 45: BGOUG  "Agile Data: revolutionizing database cloning

• Need lots of copies

• Each copy is like

DevOps : Impossible with databaes?

Design

Page 46: BGOUG  "Agile Data: revolutionizing database cloning

• Data Constraint

• Solution• Use Cases

In this presentation :

Page 47: BGOUG  "Agile Data: revolutionizing database cloning

Development UATQA

99% of blocks are identical

Page 48: BGOUG  "Agile Data: revolutionizing database cloning

Solution

Page 49: BGOUG  "Agile Data: revolutionizing database cloning

Development QA UAT

Thin Clone

Page 50: BGOUG  "Agile Data: revolutionizing database cloning

• 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 51: BGOUG  "Agile Data: revolutionizing database cloning

Fuel not equal car

Challenges

1. Technical2. Bureaucracy

Page 52: BGOUG  "Agile Data: revolutionizing database cloning

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 53: BGOUG  "Agile Data: revolutionizing database cloning

Why are hand offs so expensive?

1hour1 day

9 days

Bureaucracy

Page 54: BGOUG  "Agile Data: revolutionizing database cloning

Technical Challenge

Database Luns

Production FilerTarget A

Target B

Target C

snapshotclones

InstanceInstance

InstanceInstance

InstanceInstance

InstanceInstance

Instance

Source

Page 55: BGOUG  "Agile Data: revolutionizing database cloning

Database LUNs

snapshot

clonesProduction Filer

Development Filer

Technical Challenge

Instance

Target A

Target B

Target C

InstanceInstance

InstanceInstance

InstanceInstance

Instance

Page 56: BGOUG  "Agile Data: revolutionizing database cloning

Technical Challenge

Copy

Time Flow

Purge

Production

File System Instance

DevelopmentStorage

Clone (snapshot)

Compress

Share Cache

Provision

Mount, recover, rename

Self Service, Roles & Security

Instance

21 3

Page 57: BGOUG  "Agile Data: revolutionizing database cloning

Technical ChallengeProduction DevelopmentStorage

21 3

Page 58: BGOUG  "Agile Data: revolutionizing database cloning

– ZFS

– EMC + SRDF

– Netapp + SMO

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

– Actifio - hardware

– Delphix - software

2 1

2 13 1 2

How to get a Data Virtualization?

Sourcesync

Deployautomation

Storagesnapshots

21 3

2

31 2

31 2

Page 59: BGOUG  "Agile Data: revolutionizing database cloning

Goal : virtualize, govern, deliver

59

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

Snap Shots

Thin Cloning

Data Virtualization

Data Supply Chain31 2

2

32

Page 60: BGOUG  "Agile Data: revolutionizing database cloning

Intel hardware

DB2DataFile SystemsBinaries

Install Delphix on x86 hardware

Page 61: BGOUG  "Agile Data: revolutionizing database cloning

Allocate Any Storage to Delphix

Allocate StorageAny type

Pure Storage + DelphixBetter Performance for 1/10 the cost

Page 62: BGOUG  "Agile Data: revolutionizing database cloning

One time backup of source database

Database

Production

File systemFile system

InstanceInstanceInstance

Page 63: BGOUG  "Agile Data: revolutionizing database cloning

DxFS (Delphix) Compress Data

Database

Production

Data is compressed typically 1/3 size

File system

InstanceInstanceInstance

Page 64: BGOUG  "Agile Data: revolutionizing database cloning

Incremental forever change collection

Database

Production

File system

Changes

• Collected incrementally forever• Old data purged

File system

Production

InstanceInstanceInstance

Time Flow

Page 65: BGOUG  "Agile Data: revolutionizing database cloning

Snapshot 1 – full backup once only at link time

Jonathan Lewis © 2013 Virtual DB

65 / 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 66: BGOUG  "Agile Data: revolutionizing database cloning

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 67: BGOUG  "Agile Data: revolutionizing database cloning

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 68: BGOUG  "Agile Data: revolutionizing database cloning

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 69: BGOUG  "Agile Data: revolutionizing database cloning

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 70: BGOUG  "Agile Data: revolutionizing database cloning

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 71: BGOUG  "Agile Data: revolutionizing database cloning

Database Virtualization

Page 72: BGOUG  "Agile Data: revolutionizing database cloning

Three Physical CopiesThree Virtual Copies

Data Virtualization Appliance

Page 73: BGOUG  "Agile Data: revolutionizing database cloning

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 74: BGOUG  "Agile Data: revolutionizing database cloning

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 75: BGOUG  "Agile Data: revolutionizing database cloning

• Problem in the Industry• Solution• Use Cases

Page 76: BGOUG  "Agile Data: revolutionizing database cloning

1. Development and QA 2. Production Support3. Business

Use Cases

Page 77: BGOUG  "Agile Data: revolutionizing database cloning

1. Development and QA2. Production Support3. Business

Use Cases

Page 78: BGOUG  "Agile Data: revolutionizing database cloning

Development: Virtual Data

• Unlimited • Full size • Self Service

Development

Page 79: BGOUG  "Agile Data: revolutionizing database cloning

Virtual Data: Easy

Instance

Instance

Instance

Instance

Source

DVA

Page 80: BGOUG  "Agile Data: revolutionizing database cloning

Development Virtual Data: Parallelize

gif by Steve Karam

Page 81: BGOUG  "Agile Data: revolutionizing database cloning

Development Virtual Data: Full size

Page 82: BGOUG  "Agile Data: revolutionizing database cloning

Development Virtual Data: Self Service

Page 83: BGOUG  "Agile Data: revolutionizing database cloning

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

Page 84: BGOUG  "Agile Data: revolutionizing database cloning

Dev

QA

Instance

Prod

DVA

• Low Resource

• Find bugs Fast

QA Virtual Data : Fast

Production Time Flow

Page 85: BGOUG  "Agile Data: revolutionizing database cloning

QA with Virtual Data: Rewind

Instance

QA

Prod

Production Time Flow

Page 86: BGOUG  "Agile Data: revolutionizing database cloning

QA with Virtual Data: A/B

Instance

Instance

Instance

Index 1

Index 2

Production Time Flow

Page 87: BGOUG  "Agile Data: revolutionizing database cloning

Data Version Control

12/3/2014 87

Dev

QA

2.1

Dev

QA

2.2

2.1 2.2

Instance

Prod

DVA Production Time Flow

Page 88: BGOUG  "Agile Data: revolutionizing database cloning

1. Development and QA2. Production Support3. Business

Use Cases

Page 89: BGOUG  "Agile Data: revolutionizing database cloning

• Backups• Recovery• Forensics• Migration• Consolidation

Recovery

Page 90: BGOUG  "Agile Data: revolutionizing database cloning

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

90

0

10

20

30

40

50

60

70

wee

k 1

wee

k 2

wee

k 3

wee

k 4

original

Oracle

Delphix

Page 91: BGOUG  "Agile Data: revolutionizing database cloning

Recovery

Instance

Instance

Recover VDB

Drop

Source

DVA Production Time Flow

Page 92: BGOUG  "Agile Data: revolutionizing database cloning

Forensics

Instance

Development

DVA

Source

Production Time Flow

Page 93: BGOUG  "Agile Data: revolutionizing database cloning

Development (the new production)

Instance

Development

DVA

Source

Development

Prod & VDB Time Flow

X

Page 94: BGOUG  "Agile Data: revolutionizing database cloning

Migration

Page 95: BGOUG  "Agile Data: revolutionizing database cloning

Consolidation

Page 96: BGOUG  "Agile Data: revolutionizing database cloning

1. Development and QA2. Production Support3. Business Intelligence

Use Cases

Page 97: BGOUG  "Agile Data: revolutionizing database cloning

Business Intelligence

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

Page 98: BGOUG  "Agile Data: revolutionizing database cloning

Business Intelligence: ETL and DW Refreshes

Instance

Prod

Instance

DW & BI

Page 99: BGOUG  "Agile Data: revolutionizing database cloning

• Collect only Changes• Refresh in minutes

Instance

Prod

BI and DW

ETL24x7

DVA

Virtual Data: Fast Refreshes

Production Time Flow

Page 100: BGOUG  "Agile Data: revolutionizing database cloning

Temporal Data

Page 101: BGOUG  "Agile Data: revolutionizing database cloning

Confidence testing

Page 102: BGOUG  "Agile Data: revolutionizing database cloning

Modernization: Federated

Instance

Instance

Source1

Source2

DVAProduction Time Flow 1

Production Time Flow 2

Page 103: BGOUG  "Agile Data: revolutionizing database cloning

Modernization: Federated

Page 104: BGOUG  "Agile Data: revolutionizing database cloning

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

Modernization: Federated

Page 105: BGOUG  "Agile Data: revolutionizing database cloning

Production Time Flow

Audit

12/3/2014 105

Instance

Prod

DVA

Live Archive

Page 106: BGOUG  "Agile Data: revolutionizing database cloning

1. Development & QA2. Production Support3. Business

Use Case Summary

Page 107: BGOUG  "Agile Data: revolutionizing database cloning

How expensive is the Data Constraint?

DVA at Fortune 500 :

Dev throughput increase by 2x

Page 108: BGOUG  "Agile Data: revolutionizing database cloning

Faster

• Financial Close• BI refreshes• Surgical recovery• Projects

How expensive is the Data Constraint?

Page 109: BGOUG  "Agile Data: revolutionizing database cloning

• 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 110: BGOUG  "Agile Data: revolutionizing database cloning
Page 111: BGOUG  "Agile Data: revolutionizing database cloning

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

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

Summary

Page 112: BGOUG  "Agile Data: revolutionizing database cloning

Thank you!

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

– kylehailey.com

– slideshare.net/khailey