SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Thank you for joining us, the webinar will start at:
10:00 Pacific / 11:00 Central / 13:00 East / 18:00 UK Time
Taking Database Development to the 21st Century
Presenters
Kyle Hailey @kylehhailey
• Technical Evangelist at Delphix
• Oracle ACE, member of the OakTable Network
Uri Margalit @UriMargalit
• Director, Product Management
• Presenter at world-wide conferences: ODTUG, ilOUG,
Perforce Merge, etc…
Before we start
• You will be on mute for the duration of the event
• We are now talking so please type a message
in the Questions box in the Control Panel if you can’t
hear us (please check your speakers and
GoToWebinar audio settings first)
• There will be a Q+A session at the end but please
feel free to type your questions in the Questions
box in the Control Panel in advance
• A recording of the full webinar will be put up online
About Delphix
• Founded in 2008, launched in 2010
• CEO Jedidiah Yueh (founder of Avamar: >$1B revenue))
• Based in Silicon Valley, Global Operations
• 20% of Fortune 500
About DBmaestro
• Founded in 2008
• Headed by Yariv Tabac and Yaniv Yehuda
• Headquartered in Israel, Global Operations
Taking Database Development to
the 21st Century
Kyle Hailey & Uri Margalit
Risks
80%
of unplanned
downtime is
due to Change
50%
More than
of this, half is
due to human
errors
Technology required
Reducing Risk
 Smaller changes Agile
 Automation no human error, more with less
 DevOps synergy
Source Control : Code
• GitHub
• SVN
• Perforce
• TFS
• RTC
• VSS
How do you source control the database?
Database Challenge
• Crucial
• Must be in sync with application changes
• Objects not file system
– Schema Structure
– PL/SQL Code
– Central resource
• Lacks Version Control
• Relevant data for the task
Database Requirements
• How can we
– Enforced version control changes?
– Manage content?
– Branch versions?
– Merge branches?
– Have right data for the task?
Data is the constraint
60% Projects Over Schedule
85% delayed waiting for data
Data is the Constraint
CIO Magazine Survey:
only getting worse
Why is Data the Constraint ?
1. Development: Bottlenecks & bugs
2. QA: Expensive, single threaded, slow
3. Provisioning: Delays
Frustration Waiting
1. Development: Bottlenecks & bugs
1. Development: Bottlenecks & bugs
1. Development: Bottlenecks & bugs: subsets
cause bugs
96% of QA time was building environment
$.04/$1.00 actual testing vs. setup
QA Build QA
QA Build QA
BugX
0
10
20
30
40
50
60
70
1 2 3 4 5 6 7
Delay in Fixing the bug
Cost
To
Correct
Software Engineering Economics – Barry Boehm (1981)
2. QA: slow, expensive, single threaded
Management
DBA
System Admin
Storage Admin
Developers
Submit
Request
Disk
Capacity?
Approve
Request $$
(2 Weeks)
Approve
Request $$
(1 Week)
Request
Additional
Storage?
Provision
Capacity
File System
Configured?
Configure LUNS &
Build File System
Coordinate
Replication w/
Infrastructure
Re-
Parameterize &
Configure DB
Mount
Recovery DB
to Specific PIT
Begin
Work
Approve
Request $$
(2 Weeks)
(3 Days)
(3 Days)
(2 Days)
(3 Days)
(3 Days)
…….1-2 Weeks of Approvals, Delays, and Provisioning……
Developer Asks for DB Get Access
Manager approves
DBA Request
system
Setup DB
System
Admin
Request
storage
Setup
machine
Storage
Admin
Allocate
storage
(take snapshot)
3. Delays
3. Delays : culture of no
Three Physical Copies Three Virtual Copies
Delphix - is software
• Installs as VM
• Any Storage
• Supports
-
-
-
-
- Application Data
With Virtual Data
Production
Instance
Database
Dev & QA
Instance
Database
Reporting
Instance
Database
Backup
Instance Instance Instance
Database
InstanceInstance
Database
InstanceInstance
File system
Database
What We’ve Seen With Delphix
1. Development: Parallelized, less bugs
2. QA: Low cost, fast bug detection
3. Provisioning: Fast, Culture of Yes
Parallel environments
Instance
Instance
Instance
Instance
Source
1. Development : Parallelize
gif by Steve Karam
1. Development: Eliminate bugs
1. Provisioning: Fast, Efficient, Self Service, Culture
of Yes!
1. Development: Version Control
Dev
QA
2.1
Dev
QA
2.2
2.1 2.2
Instance
Prod
DVA
Dev
QA
Instance
Prod
DVA
Time Flow
• Low Resource
• Find bugs Fast
2. QA: Fast and Efficient
What We’ve Seen With Delphix
1. Development: Parallelized, less bugs
2. QA: Low cost, fast bug detection
3. Provisioning: Fast, Culture of Yes
But …
How do we manage the changes and make sure
the version we deploy is the correct one?
Version Control is a constraint
“
“
It was difficult to track who made a change to a
database object and what change they made.
(working-around file based version control)
Sr. DBA @ Large USA Bank
It took hours to get releases working. some changes
were not documented and left out. we actually preferred
crashes in integration. It is much worse when something
works, but works wrong. in production…
(manual and error prone releases)
Sr. R&D Manager @ Credit Card company
Version Control is a constraint
We recently had a disaster - the script in the version
control was not updated and when executed in production,
ran the wrong revision. That cost tens of thousands of $
(an out-of-process update to QA that was not properly tracked)
Developer @ Algo Trading company
We had multiple releases to production every day. That
is one release a week with multiple follow up fixes, and yet
more fixes
(code overrides, partial versions, wrong versions – all pushed to production)
CTO @ Credit Card company
“
“
Version Control is a constraint
We had an incident where a trigger was not correctly
implemented during a code release. a trigger from a
previous build was used instead which was only detected
on Tuesday morning on the first business day after our code
release. this was a customer-facing application and made
our team look, and feel, bad about the release.
we realized that we needed to bring more discipline and
rigor to our database changes.
(manual process are hard to repeat over and over without errors)
Sr. DBA @ Large USA Bank
“
Root Causes
• Manual script based version control process
• Deployment tools unaware of version control
• No red-flags…
Two Isolated Processes
Version Control Process
(file based)
Development Process
Check-Out
Script
Modify Script
Get updated
Script from DB
Check-In
Script
Compile
Script
in DB
Debug Script
in DB
?
?
?
?
A
A’
Challenges…
Un-coordinated Process
Silos in development
Deployment delays…
Out-of-Process Changes
Errors in production
Lack of confidence in automation
Code overrides
Different methodologies
Lack of history Missing changes
wrong versions
Scripts & Version Control
• Challenges…
– Code-overrides
– Working on the wrong revisions
– Scripts do not always find their way to the version control solution
– Out of process updates go unnoticed
– Hard to locate outdated update scripts
• Playing safe? what we really need:
– The actual code of the object
– The upgrade script
– A roll-back script
Testing Scripts
• Single object based scripts
– Hard to test in their entirely
– Hard to test due to colliding dependencies
– Need to run in a specific order…
• Large multi object based script
– Represents the entire update - can deal with dependencies
– Much harder to deal with project scope changes
– Hard to mange – a big list of commands
1.11.21.31.41.51.61.7 1.11.11.41.7 1.1.1
X
1.11.1.1
Scripts… Build Once Deploy Many
Int QA Stage Prod
Database Deploy Script
Environment
Re-Base (due to defects)
Dev
Dev
Dev
Model
1.1 1.2
1.2 1.3
1.3 1.4
1.4 1.5
1.5 1.6
1.6 1.7
1.1 1.2
1.2 1.3
1.3 1.4
1.4 1.5
1.5 1.6
1.6 1.7
1.1 1.2
1.2 1.3
1.3 1.4
1.4 1.5
1.5 1.6
1.6 1.7
Out of Process
Change
X
X
X
X
X
?
X
Scripts are Static…
• Scripts, unless super sophisticated:
– Unaware of changes made in the target environment
– Time passed from their coding to the time they are run
– Potentially overriding production hot-fixes & work done in parallel
by another team
• Content changes are very hard to manage
– Metadata & lookup content does not practically fit into the VC
– In most cases they are simply not managed
Poll
What level of management you have for you DB
development?
1. Enforced version control; Baseline aware
automation
2. Version control scripts; Simple automation
3. Version control scripts; Simple Comp & Sync
4. None
Dealing With Challenges…
Coordinated ProcessTraceability
Start in the Beginning
No Out-of-Process Changes
Impact Analysis
Automation
Task Based Development
Well Defined Processes
Version Control – 1 Enforced Process
Dealing With Challenges…
• Integrated Version Control process
– Leverage proven version control best practices
• Forcing check in & out for changes
• Labels
• etc..
– No code-overrides
– Always working with the correct revision
– All changes are documented
• Integrated Version Control process
– Always know who did what, when, why and from where
– No out-of-process changes
– Supporting structure, code and content
• No time spent on manual coding of the change scripts
1.11.21.31.41.51.61.7 1.11.11.41.7 1.1.11.11.1.1
Build & Deploy On Demand
Int QA Stage Prod
Database Deploy Script
Environment
Re-Base (due to defects)
Dev
Dev
Dev
Model
1.1 1.2
1.2 1.3
1.3 1.4
1.4 1.5
1.5 1.6
1.6 1.7
1.1 1.4
1.4 1.7
1.1.1 1.7
Out of Process
Change
1.7
*
1.7
Source vs.
Target
Action
= No Action
≠
?
Source vs.
Baseline
Target vs.
Baseline
Action
= = No Action
≠ = Deploy Changes
= ≠ Protect Target
≠ ≠ Merge Changes
You do not have all
of the information
With baselines aware
analysis the unknown is now
known
Simple Compare & Sync Baseline aware Analysis
Deployment Automation - Safety Net
An Index exists in Target (Prod) and not in Source (QA),
what should we do? Drop the Index?
Bonus Points – Task Base Development
• Correlate each database change with a change request
– Task ID
– Work Item
– Trouble Ticket
– CR
– etc…
• Partial deployments (a feature, a collection of bugs,
etc…)
• Scope changes easily synced between code and
database
Live Demo
• Clone 2 virtual copies of the Trunk
1. Dev1
2. Dev2
• Make changes & merge them into the Trunk:
– Developer1 modifies Dev1
– Developer1 merges changes into the Trunk
– Developer2 modifies Dev2
– Developer2 merges changes into the Trunk
• Rely on enforced changes & automation
Data Version Control
Dev1
Instance
Prod
Dev2
Trunk clones
Trunk
Dev2
Dev1Merge to dev1
Trunk
Fork
Fork
Fork
Fork
Q&A
Kyle Hailey @kylehhailey
Delphix: delphix.com
Uri Margalit @UriMargalit
DBmaestro: dbmaestro.com
Thanks!
Kyle Hailey @kylehhailey
Delphix: delphix.com
Uri Margalit @UriMargalit
DBmaestro: dbmaestro.com

Weitere ähnliche Inhalte

Was ist angesagt?

Iltam database version control
Iltam database version controlIltam database version control
Iltam database version controluridbmaestro
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentVladimir Bakhov
 
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...Serena Software
 
The future of DevOps: fully left-shifted deployments with version control and...
The future of DevOps: fully left-shifted deployments with version control and...The future of DevOps: fully left-shifted deployments with version control and...
The future of DevOps: fully left-shifted deployments with version control and...Red Gate Software
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional testHarry Zheng
 
Automate Database Deployment - SQL In The City Workshop
Automate Database Deployment - SQL In The City WorkshopAutomate Database Deployment - SQL In The City Workshop
Automate Database Deployment - SQL In The City WorkshopRed Gate Software
 
Redgate database DevOps demo webinar (with Git & Jenkins)
Redgate database DevOps demo webinar (with Git & Jenkins)Redgate database DevOps demo webinar (with Git & Jenkins)
Redgate database DevOps demo webinar (with Git & Jenkins)Red Gate Software
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databasesDevOpsGroup
 
Microsoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMicrosoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMark Ginnebaugh
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsPrabhu Ramasamy
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseUsing Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseRed Gate Software
 
Successfully migrating existing databases to Azure
Successfully migrating existing databases to AzureSuccessfully migrating existing databases to Azure
Successfully migrating existing databases to AzureRed Gate Software
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?Datical
 
Workshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databasesWorkshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databasesEduardo Piairo
 
Achieving DevOps Automation for the Database at NBCUniversal
Achieving DevOps Automation for the Database at NBCUniversalAchieving DevOps Automation for the Database at NBCUniversal
Achieving DevOps Automation for the Database at NBCUniversalDatical
 
How the Big Data of APM can Supercharge DevOps
How the Big Data of APM can Supercharge DevOpsHow the Big Data of APM can Supercharge DevOps
How the Big Data of APM can Supercharge DevOpsCA Technologies
 
Common Challenges in DevOps Change Management
Common Challenges in DevOps Change ManagementCommon Challenges in DevOps Change Management
Common Challenges in DevOps Change ManagementMatt Ray
 

Was ist angesagt? (20)

Unlocking the Potential of Database Automation
Unlocking the Potential of Database AutomationUnlocking the Potential of Database Automation
Unlocking the Potential of Database Automation
 
Iltam database version control
Iltam database version controlIltam database version control
Iltam database version control
 
Database CI/CD Pipeline
Database CI/CD PipelineDatabase CI/CD Pipeline
Database CI/CD Pipeline
 
Version Control meets Database Control
Version Control meets Database ControlVersion Control meets Database Control
Version Control meets Database Control
 
Continuous Integration for Oracle Database Development
Continuous Integration for Oracle Database DevelopmentContinuous Integration for Oracle Database Development
Continuous Integration for Oracle Database Development
 
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
DevOps Drive-In: Automate Database Deployments in Your Continuous Delivery Pi...
 
The future of DevOps: fully left-shifted deployments with version control and...
The future of DevOps: fully left-shifted deployments with version control and...The future of DevOps: fully left-shifted deployments with version control and...
The future of DevOps: fully left-shifted deployments with version control and...
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
 
Automate Database Deployment - SQL In The City Workshop
Automate Database Deployment - SQL In The City WorkshopAutomate Database Deployment - SQL In The City Workshop
Automate Database Deployment - SQL In The City Workshop
 
Redgate database DevOps demo webinar (with Git & Jenkins)
Redgate database DevOps demo webinar (with Git & Jenkins)Redgate database DevOps demo webinar (with Git & Jenkins)
Redgate database DevOps demo webinar (with Git & Jenkins)
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
 
Microsoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMicrosoft SQL Server Continuous Integration
Microsoft SQL Server Continuous Integration
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database Objects
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your DatabaseUsing Redgate, AKS and Azure to bring DevOps to your Database
Using Redgate, AKS and Azure to bring DevOps to your Database
 
Successfully migrating existing databases to Azure
Successfully migrating existing databases to AzureSuccessfully migrating existing databases to Azure
Successfully migrating existing databases to Azure
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?
 
Workshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databasesWorkshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databases
 
Achieving DevOps Automation for the Database at NBCUniversal
Achieving DevOps Automation for the Database at NBCUniversalAchieving DevOps Automation for the Database at NBCUniversal
Achieving DevOps Automation for the Database at NBCUniversal
 
How the Big Data of APM can Supercharge DevOps
How the Big Data of APM can Supercharge DevOpsHow the Big Data of APM can Supercharge DevOps
How the Big Data of APM can Supercharge DevOps
 
Common Challenges in DevOps Change Management
Common Challenges in DevOps Change ManagementCommon Challenges in DevOps Change Management
Common Challenges in DevOps Change Management
 

Andere mochten auch

Nhs.uk measles outbreak analysis april 2013
Nhs.uk measles outbreak analysis   april 2013Nhs.uk measles outbreak analysis   april 2013
Nhs.uk measles outbreak analysis april 2013Jonathon Carr-Brown
 
X3 Database Development
X3 Database DevelopmentX3 Database Development
X3 Database DevelopmentEMAINT
 
Calculating Downtime Costs: How Much Should You Spend on DR?
Calculating Downtime Costs: How Much Should You Spend on DR?Calculating Downtime Costs: How Much Should You Spend on DR?
Calculating Downtime Costs: How Much Should You Spend on DR?Rackspace
 
Avoiding Data Center Disasters
Avoiding Data Center DisastersAvoiding Data Center Disasters
Avoiding Data Center DisastersJesse Andrew
 
Reduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technologyReduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technologyKirill Loifman
 
MySQL HA Solutions
MySQL HA SolutionsMySQL HA Solutions
MySQL HA SolutionsMat Keep
 
Is agile adoption losing steam?
Is agile adoption losing steam?Is agile adoption losing steam?
Is agile adoption losing steam?Go2Group, Inc.
 
Kscope 2013 delphix
Kscope 2013 delphixKscope 2013 delphix
Kscope 2013 delphixKyle Hailey
 
Tui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsTui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsDBmaestro - Database DevOps
 
DBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentDBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentKyle Hailey
 
Delphix modernization whitepaper
Delphix  modernization whitepaperDelphix  modernization whitepaper
Delphix modernization whitepaperFranco_Dagosto
 
Continuous delivery made possible
Continuous delivery made possibleContinuous delivery made possible
Continuous delivery made possiblemimmozzo_
 
WANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setWANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setBrad Appleton
 
Software Configuration Management Problemas e Soluções
Software Configuration Management Problemas e SoluçõesSoftware Configuration Management Problemas e Soluções
Software Configuration Management Problemas e Soluçõeselliando dias
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group, Inc.
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?Michael Elder
 
Trustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityTrustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityBrad Appleton
 

Andere mochten auch (20)

Nhs.uk measles outbreak analysis april 2013
Nhs.uk measles outbreak analysis   april 2013Nhs.uk measles outbreak analysis   april 2013
Nhs.uk measles outbreak analysis april 2013
 
X3 Database Development
X3 Database DevelopmentX3 Database Development
X3 Database Development
 
Calculating Downtime Costs: How Much Should You Spend on DR?
Calculating Downtime Costs: How Much Should You Spend on DR?Calculating Downtime Costs: How Much Should You Spend on DR?
Calculating Downtime Costs: How Much Should You Spend on DR?
 
Avoiding Data Center Disasters
Avoiding Data Center DisastersAvoiding Data Center Disasters
Avoiding Data Center Disasters
 
Reduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technologyReduce planned database down time with Oracle technology
Reduce planned database down time with Oracle technology
 
MySQL HA Solutions
MySQL HA SolutionsMySQL HA Solutions
MySQL HA Solutions
 
Is agile adoption losing steam?
Is agile adoption losing steam?Is agile adoption losing steam?
Is agile adoption losing steam?
 
Kscope 2013 delphix
Kscope 2013 delphixKscope 2013 delphix
Kscope 2013 delphix
 
Tui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsTui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile Methods
 
DBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentDBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application Development
 
Faking Hell
Faking HellFaking Hell
Faking Hell
 
Delphix modernization whitepaper
Delphix  modernization whitepaperDelphix  modernization whitepaper
Delphix modernization whitepaper
 
Continuous delivery made possible
Continuous delivery made possibleContinuous delivery made possible
Continuous delivery made possible
 
WANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setWANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-set
 
Software Configuration Management Problemas e Soluções
Software Configuration Management Problemas e SoluçõesSoftware Configuration Management Problemas e Soluções
Software Configuration Management Problemas e Soluções
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
P4 Branching Overview
P4 Branching OverviewP4 Branching Overview
P4 Branching Overview
 
Jenkins Plugin
Jenkins PluginJenkins Plugin
Jenkins Plugin
 
Trustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityTrustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean Traceability
 

Ähnlich wie Taking Database Development to the 21st Century

The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationDBmaestro - Database DevOps
 
The Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous DeliveryThe Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous DeliveryPerforce
 
Challenges and best practices of database continuous delivery
Challenges and best practices of database continuous deliveryChallenges and best practices of database continuous delivery
Challenges and best practices of database continuous deliveryDBmaestro - Database DevOps
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Emerasoft, solutions to collaborate
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOpsAbdullah al Mamun
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps JumpstartOri Donner
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
Geek Sync I In Database Automation We Trust
Geek Sync I In Database Automation We TrustGeek Sync I In Database Automation We Trust
Geek Sync I In Database Automation We TrustIDERA Software
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyKelly Looney
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentBrian Moon
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
Tuenti Release Workflow
Tuenti Release WorkflowTuenti Release Workflow
Tuenti Release WorkflowTuenti
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Emerasoft, solutions to collaborate
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITVishnu Raju Datla
 
Performance Tuning in the Trenches
Performance Tuning in the TrenchesPerformance Tuning in the Trenches
Performance Tuning in the TrenchesDonald Belcham
 
Definition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementDefinition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementChristian Vos
 

Ähnlich wie Taking Database Development to the 21st Century (20)

The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
 
manage databases like codebases
manage databases like codebasesmanage databases like codebases
manage databases like codebases
 
The Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous DeliveryThe Challenges & Pitfalls of Database Continuous Delivery
The Challenges & Pitfalls of Database Continuous Delivery
 
Challenges and best practices of database continuous delivery
Challenges and best practices of database continuous deliveryChallenges and best practices of database continuous delivery
Challenges and best practices of database continuous delivery
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Geek Sync I In Database Automation We Trust
Geek Sync I In Database Automation We TrustGeek Sync I In Database Automation We Trust
Geek Sync I In Database Automation We Trust
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
Tuenti Release Workflow
Tuenti Release WorkflowTuenti Release Workflow
Tuenti Release Workflow
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
Webinar: “Mai sentito parlare di Continuous Delivery per il database? Ecco co...
 
DevOps for Database webinar
DevOps for Database webinarDevOps for Database webinar
DevOps for Database webinar
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
Performance Tuning in the Trenches
Performance Tuning in the TrenchesPerformance Tuning in the Trenches
Performance Tuning in the Trenches
 
Definition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinementDefinition of Done and Product Backlog refinement
Definition of Done and Product Backlog refinement
 

Mehr von DBmaestro - Database DevOps

Mehr von DBmaestro - Database DevOps (7)

Continuous delivery best practices and essential tools
Continuous delivery best practices and essential toolsContinuous delivery best practices and essential tools
Continuous delivery best practices and essential tools
 
Webinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterpriseWebinar - Devops platform for the evolving enterprise
Webinar - Devops platform for the evolving enterprise
 
Enterprise scale continuous delivery
Enterprise scale continuous deliveryEnterprise scale continuous delivery
Enterprise scale continuous delivery
 
DevOps for Database Solution
DevOps for Database SolutionDevOps for Database Solution
DevOps for Database Solution
 
State of Database Continuous Delivery 2014
State of Database Continuous Delivery 2014State of Database Continuous Delivery 2014
State of Database Continuous Delivery 2014
 
DevOps for Database 2015 Survey Infographic
DevOps for Database 2015 Survey InfographicDevOps for Database 2015 Survey Infographic
DevOps for Database 2015 Survey Infographic
 
Protect your Database with Data Masking & Enforced Version Control
Protect your Database with Data Masking & Enforced Version Control	Protect your Database with Data Masking & Enforced Version Control
Protect your Database with Data Masking & Enforced Version Control
 

Kürzlich hochgeladen

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Kürzlich hochgeladen (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Taking Database Development to the 21st Century

  • 1. Thank you for joining us, the webinar will start at: 10:00 Pacific / 11:00 Central / 13:00 East / 18:00 UK Time Taking Database Development to the 21st Century
  • 2. Presenters Kyle Hailey @kylehhailey • Technical Evangelist at Delphix • Oracle ACE, member of the OakTable Network Uri Margalit @UriMargalit • Director, Product Management • Presenter at world-wide conferences: ODTUG, ilOUG, Perforce Merge, etc…
  • 3. Before we start • You will be on mute for the duration of the event • We are now talking so please type a message in the Questions box in the Control Panel if you can’t hear us (please check your speakers and GoToWebinar audio settings first) • There will be a Q+A session at the end but please feel free to type your questions in the Questions box in the Control Panel in advance • A recording of the full webinar will be put up online
  • 4. About Delphix • Founded in 2008, launched in 2010 • CEO Jedidiah Yueh (founder of Avamar: >$1B revenue)) • Based in Silicon Valley, Global Operations • 20% of Fortune 500
  • 5. About DBmaestro • Founded in 2008 • Headed by Yariv Tabac and Yaniv Yehuda • Headquartered in Israel, Global Operations
  • 6. Taking Database Development to the 21st Century Kyle Hailey & Uri Margalit
  • 7. Risks 80% of unplanned downtime is due to Change 50% More than of this, half is due to human errors
  • 9. Reducing Risk  Smaller changes Agile  Automation no human error, more with less  DevOps synergy
  • 10. Source Control : Code • GitHub • SVN • Perforce • TFS • RTC • VSS How do you source control the database?
  • 11. Database Challenge • Crucial • Must be in sync with application changes • Objects not file system – Schema Structure – PL/SQL Code – Central resource • Lacks Version Control • Relevant data for the task
  • 12. Database Requirements • How can we – Enforced version control changes? – Manage content? – Branch versions? – Merge branches? – Have right data for the task?
  • 13. Data is the constraint 60% Projects Over Schedule 85% delayed waiting for data Data is the Constraint CIO Magazine Survey: only getting worse
  • 14. Why is Data the Constraint ? 1. Development: Bottlenecks & bugs 2. QA: Expensive, single threaded, slow 3. Provisioning: Delays
  • 17. 1. Development: Bottlenecks & bugs: subsets cause bugs
  • 18. 96% of QA time was building environment $.04/$1.00 actual testing vs. setup QA Build QA QA Build QA BugX 0 10 20 30 40 50 60 70 1 2 3 4 5 6 7 Delay in Fixing the bug Cost To Correct Software Engineering Economics – Barry Boehm (1981) 2. QA: slow, expensive, single threaded
  • 19. Management DBA System Admin Storage Admin Developers Submit Request Disk Capacity? Approve Request $$ (2 Weeks) Approve Request $$ (1 Week) Request Additional Storage? Provision Capacity File System Configured? Configure LUNS & Build File System Coordinate Replication w/ Infrastructure Re- Parameterize & Configure DB Mount Recovery DB to Specific PIT Begin Work Approve Request $$ (2 Weeks) (3 Days) (3 Days) (2 Days) (3 Days) (3 Days) …….1-2 Weeks of Approvals, Delays, and Provisioning…… Developer Asks for DB Get Access Manager approves DBA Request system Setup DB System Admin Request storage Setup machine Storage Admin Allocate storage (take snapshot) 3. Delays
  • 20. 3. Delays : culture of no
  • 21. Three Physical Copies Three Virtual Copies
  • 22. Delphix - is software • Installs as VM • Any Storage • Supports - - - - - Application Data
  • 23. With Virtual Data Production Instance Database Dev & QA Instance Database Reporting Instance Database Backup Instance Instance Instance Database InstanceInstance Database InstanceInstance File system Database
  • 24. What We’ve Seen With Delphix 1. Development: Parallelized, less bugs 2. QA: Low cost, fast bug detection 3. Provisioning: Fast, Culture of Yes
  • 26. 1. Development : Parallelize gif by Steve Karam
  • 28. 1. Provisioning: Fast, Efficient, Self Service, Culture of Yes!
  • 29. 1. Development: Version Control Dev QA 2.1 Dev QA 2.2 2.1 2.2 Instance Prod DVA
  • 30. Dev QA Instance Prod DVA Time Flow • Low Resource • Find bugs Fast 2. QA: Fast and Efficient
  • 31. What We’ve Seen With Delphix 1. Development: Parallelized, less bugs 2. QA: Low cost, fast bug detection 3. Provisioning: Fast, Culture of Yes But … How do we manage the changes and make sure the version we deploy is the correct one?
  • 32. Version Control is a constraint “ “ It was difficult to track who made a change to a database object and what change they made. (working-around file based version control) Sr. DBA @ Large USA Bank It took hours to get releases working. some changes were not documented and left out. we actually preferred crashes in integration. It is much worse when something works, but works wrong. in production… (manual and error prone releases) Sr. R&D Manager @ Credit Card company
  • 33. Version Control is a constraint We recently had a disaster - the script in the version control was not updated and when executed in production, ran the wrong revision. That cost tens of thousands of $ (an out-of-process update to QA that was not properly tracked) Developer @ Algo Trading company We had multiple releases to production every day. That is one release a week with multiple follow up fixes, and yet more fixes (code overrides, partial versions, wrong versions – all pushed to production) CTO @ Credit Card company “ “
  • 34. Version Control is a constraint We had an incident where a trigger was not correctly implemented during a code release. a trigger from a previous build was used instead which was only detected on Tuesday morning on the first business day after our code release. this was a customer-facing application and made our team look, and feel, bad about the release. we realized that we needed to bring more discipline and rigor to our database changes. (manual process are hard to repeat over and over without errors) Sr. DBA @ Large USA Bank “
  • 35. Root Causes • Manual script based version control process • Deployment tools unaware of version control • No red-flags…
  • 36. Two Isolated Processes Version Control Process (file based) Development Process Check-Out Script Modify Script Get updated Script from DB Check-In Script Compile Script in DB Debug Script in DB ? ? ? ? A A’
  • 37. Challenges… Un-coordinated Process Silos in development Deployment delays… Out-of-Process Changes Errors in production Lack of confidence in automation Code overrides Different methodologies Lack of history Missing changes wrong versions
  • 38. Scripts & Version Control • Challenges… – Code-overrides – Working on the wrong revisions – Scripts do not always find their way to the version control solution – Out of process updates go unnoticed – Hard to locate outdated update scripts • Playing safe? what we really need: – The actual code of the object – The upgrade script – A roll-back script
  • 39. Testing Scripts • Single object based scripts – Hard to test in their entirely – Hard to test due to colliding dependencies – Need to run in a specific order… • Large multi object based script – Represents the entire update - can deal with dependencies – Much harder to deal with project scope changes – Hard to mange – a big list of commands
  • 40. 1.11.21.31.41.51.61.7 1.11.11.41.7 1.1.1 X 1.11.1.1 Scripts… Build Once Deploy Many Int QA Stage Prod Database Deploy Script Environment Re-Base (due to defects) Dev Dev Dev Model 1.1 1.2 1.2 1.3 1.3 1.4 1.4 1.5 1.5 1.6 1.6 1.7 1.1 1.2 1.2 1.3 1.3 1.4 1.4 1.5 1.5 1.6 1.6 1.7 1.1 1.2 1.2 1.3 1.3 1.4 1.4 1.5 1.5 1.6 1.6 1.7 Out of Process Change X X X X X ? X
  • 41. Scripts are Static… • Scripts, unless super sophisticated: – Unaware of changes made in the target environment – Time passed from their coding to the time they are run – Potentially overriding production hot-fixes & work done in parallel by another team • Content changes are very hard to manage – Metadata & lookup content does not practically fit into the VC – In most cases they are simply not managed
  • 42. Poll What level of management you have for you DB development? 1. Enforced version control; Baseline aware automation 2. Version control scripts; Simple automation 3. Version control scripts; Simple Comp & Sync 4. None
  • 43. Dealing With Challenges… Coordinated ProcessTraceability Start in the Beginning No Out-of-Process Changes Impact Analysis Automation Task Based Development Well Defined Processes
  • 44. Version Control – 1 Enforced Process
  • 45. Dealing With Challenges… • Integrated Version Control process – Leverage proven version control best practices • Forcing check in & out for changes • Labels • etc.. – No code-overrides – Always working with the correct revision – All changes are documented • Integrated Version Control process – Always know who did what, when, why and from where – No out-of-process changes – Supporting structure, code and content • No time spent on manual coding of the change scripts
  • 46. 1.11.21.31.41.51.61.7 1.11.11.41.7 1.1.11.11.1.1 Build & Deploy On Demand Int QA Stage Prod Database Deploy Script Environment Re-Base (due to defects) Dev Dev Dev Model 1.1 1.2 1.2 1.3 1.3 1.4 1.4 1.5 1.5 1.6 1.6 1.7 1.1 1.4 1.4 1.7 1.1.1 1.7 Out of Process Change 1.7 * 1.7
  • 47. Source vs. Target Action = No Action ≠ ? Source vs. Baseline Target vs. Baseline Action = = No Action ≠ = Deploy Changes = ≠ Protect Target ≠ ≠ Merge Changes You do not have all of the information With baselines aware analysis the unknown is now known Simple Compare & Sync Baseline aware Analysis Deployment Automation - Safety Net An Index exists in Target (Prod) and not in Source (QA), what should we do? Drop the Index?
  • 48. Bonus Points – Task Base Development • Correlate each database change with a change request – Task ID – Work Item – Trouble Ticket – CR – etc… • Partial deployments (a feature, a collection of bugs, etc…) • Scope changes easily synced between code and database
  • 49. Live Demo • Clone 2 virtual copies of the Trunk 1. Dev1 2. Dev2 • Make changes & merge them into the Trunk: – Developer1 modifies Dev1 – Developer1 merges changes into the Trunk – Developer2 modifies Dev2 – Developer2 merges changes into the Trunk • Rely on enforced changes & automation
  • 52. Q&A Kyle Hailey @kylehhailey Delphix: delphix.com Uri Margalit @UriMargalit DBmaestro: dbmaestro.com
  • 53. Thanks! Kyle Hailey @kylehhailey Delphix: delphix.com Uri Margalit @UriMargalit DBmaestro: dbmaestro.com

Hinweis der Redaktion

  1. Growing almost 300% a year Founded in 2008, launched in 2010 Jedidiah Yueh, President and CEO Founded Avamar in 1999, sold to EMC in 2006, VP Product Mgmt at EMC Avamar: >$1B revenue, 150 Employees: HQ in Menlo Park, SF, Boston, DC, London, NY and Atlanta Growing 250% annually – 130+ customers including 100 Fortune1000 Customers
  2. Get the right data To the right people At the right time
  3. I’m not sure if you have run into these situations at your organization or if you can imagine some of these situations But here are some of the issues we at Delphix are seeing in the industry with the companies we are talking to. Let’s look at the 5 points in more detail
  4. Not sure if you’ve run into this but I have personally experience the following When I was talking to one development group at Ebay, they Shared a single copy of the production database between the developers on that team. What this sharing of a single copy of production meant, is that whenever a Developer wanted to modified that database, they had to submit their changes to code Review and that code review took 1 to 2 weeks. I don’t know about you, but that kind of delay would stifle my motivation And I have direct experience with the kind of disgruntlement it can cause. When I was last a DBA, all schema changes went through me. It took me about half a day to process schema changes. That delay was too much so it was unilaterally decided by They developers to go to an EAV schema. Or entity attribute value schema Which mean that developers could add new fields without consulting me and without stepping on each others feat. It also mean that SQL code as unreadable and performance was atrocious. Besides creating developer frustration, sharing a database also makes refreshing the data difficult as it takes a while to refresh the full copy And it takes even longer to coordinate a time when everyone stops using the copy to make the refresh All this means is that the copy rarely gets refreshed and the data gets old and unreliable
  5. We talked to Presbyterian Healthcare And they told us that they spend 96% of their QA cycle time building the QA environment And only 4% actually running the QA suite This happens for every QA suite meaning For every dollar spent on QA there was only 4 cents of actual QA value And that 96% cost is infrastructure time and overhead
  6. The biggest and most pervasive problem we see is slow build times. In order to set up an database copy for a development environments Requires submitting a request to management who has to review it Then if the request is granted, it is passed to the DBA who has to coordinate with the Sysadmin who has to coordinate with the storage admin. In such a situation it makes sense that copying a large database would take a long time But even when we talk to someone who uses netapp storage snapshots like Electronics Art and Ariba, they said even using storage snapshot sit took days to weeks get a database clone copy due to the coordination between DBA, sys admin and storage admin At many of the customers we talk to provisioning a database clone copy takes weeks or months. One large global bank quotes us as taking typically 6 months to provision a database clone copy environment. Requirements: self service for app teams Requirements: end-to-end automation Metrics: # people, process, time for delivery So far we have talked about the weight of infrastructure on app delivery. Of course, to control and manage that infrastructure, firms layer on a large set of bureaucratic processes, change control, approvals, procurement, governance, etc etc. So the operational and organizational hurdles then create an even bigger drag on IT and app development. Here’s an example from one banking customer. Once the app developer puts in a request for a new development environment, there’s at least a week long wait for management approvals. Then project DBA work with the sysadmin and storage groups for capacity. If more capacity needs to be allocated, it’s 3 more days. If more needs to be purchased, weeks or months. If a copy of production data is needed, the process needs to wait on a production DBA, who might be busy with production issues. Recovering the database to a specific point in time and configuration can also take days. It is very common for two weeks to pass between a developer request and a ready environment. The process can be repeated for multiple environments, for data refreshes, and for integration across multiple systems. With Delphix, turns stop signs into green lights. Provisioning, refresh, rollback, and data integration happen nearly instantly and do not trigger approvals from production systems or require additional storage. That is why KLA is able to deliver 5 times the output from its SAP teams… Without Delphix, it’s impossible for organizations to implement the level of agile processes they desire. The management of data, and the bureaucracy of data management, slows things down too much.
  7. Due to the constraints of building clone copy database environments one ends up in the “culture of no” Where developers stop asking for a copy of a production database because the answer is “no” If the developers need to debug an anomaly seen on production or if they need to write a custom module which requires a copy of production they know not to even ask and just give up.
  8. In the physical database world, 3 clones take up 3x the storage. In the virtual world 3 clones take up 1/3 the storage thanks to block sharing and compression
  9. Software installs an any x86 hardware uses any storage supports Oracle 9.2-12c, standard edition, enterprise edition, single instance and RAC on AIX, Sparc, HPUX, LINUX support SQL Server
  10. For example Stubhub went from 5 copies of production in development to 120 Giving each developer their own copy
  11. Stubhub estimated a 20% reduction in bugs that made it to production