SlideShare a Scribd company logo
1 of 57
Continuous Delivery Survey 
Findings Revealed 
Yaniv Yehuda
Before We Begin 
• 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) 
• If you have questions during the session, please submit 
them on the Q&A bar on your gotowebinar dashboard 
and we will address them at the end 
• A recording of the full webinar will be put up online 
2
3 
Presenter 
Yaniv Yehuda 
• CTO, Co-Founder at DBmaestro
About DBmaestro 
• Founded in 2008, product launched in 2010 
• Founded by Yariv Tabac and Yaniv Yehuda 
• Headquartered in Israel, Global Operations
The State of 
Database Continuous Delivery 
in 2014 
5 
The Survey
The Survey 
• Over 150 Companies 
6 
• Financial (49%) 
• Government (21%) 
• Retail (20%) 
• Other (10%) 
• Over 200 participants 
• DBAs (26%) 
• Developers (24%) 
• Directors (16%) 
• IT Ops (12%) 
• Others (22%) – can I got more data about this?
The State of Database Continuous Delivery in 2014 
• What is Continuous Delivery? 
• Why is it important? 
7 
The Survey
Automation is the Name of the Game… 
Continuous Integration 
Continuous Delivery 
Continuous Deployment 
8
What is Continuous Integration? 
• A process… 
• Focus on streamlining development 
• Developers integrate code into shared repository 
• Each check-in is verified 
• Automated builds 
• Automated tests 
• A feedback loop 
• High visibility 
• Easier & quicker to prevent and find problems, 
less back tracks => short integrations 
9
And Continuous Delivery? 
• Next step after continuous integration 
• Becoming lean, and even more Agile 
• Make sure each change is releasable 
• Develop-> build-> test-> move to staging-> acceptance test 
• Build a process to release with a push of a button 
• Deploy to production-> test production 
• Actual deployment to production is manually 
actuated 
=> Ensure risk mitigation and high efficiency 
10
Continuous Delivery Moving Ahead! 
• Why is that happening? 
11
Living in an Agile world… 
• Doing better with less 
• Reacting quickly to market needs 
• Getting ahead of competition 
• Just can’t wait 6 months for that next 
release… 
12 
• Agile Development 
• Process Automation 
• DevOps
Dealing with Risk 
 Smaller and more focused changes are easier to manage (Agile…) 
 Automation of repeating tasks lowers risk of (human) error 
 Development and Operations should work in synergy (DevOps)
Why Continuous Delivery? 
14 
• Rapid changes 
• Reacting quickly to market needs 
• Getting ahead of competition 
• Fewer changes backed out 
• Better collaboration 
• Fewer defects 
• Ultimately better service 
• Happy customers 
• Profitability
15 
This is why!
But… 
16
Where is the gap? 
• Why not 100%? 
• What is so special about the database? 
17
Database is a Key Component 
• The database holds your essential information 
• Any changes can impact the entire system 
• Need to be synchronized with other changes 
• Often overlooked 
18
Reaching Inside the Database 
• There is more to a database than SQL scripts 
• Schema structure 
• Code 
• Content and meta-content 
• Internal dependencies 
• … 
• Ensure that changes are not made without 
authorization 
• Ensure no out-of-process changes 
19
The Weakest Link In a Chain 
• Old adage but true 
• The database is often neglected and therefore can 
become the weakest link 
• Essential from a compliance and business point of 
20 
view 
• Should be the strongest link
Down from 81% to a HALF? 
21 
• Why?
Developers and DBAs 
• Silos exist… 
• Don’t always communicate effectively 
• Need to share knowledge 
• Need to follow same procedures & best 
practices 
22
So why not move forward? 
23 
• Mistrust…
Let talk about Mistrust… 
“it was difficult to track who made a change to a database 
object and what change they made.” 
(working-around file based version control) 
“it took hours to get releases working. some changes were 
not documented and left out…” 
(manual and error prone releases) 
“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) 
24
Let talk about Mistrust… 
“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) 
“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…” 
(manual process are hard to repeat over and over without errors) 
25
• Root Causes for issues: 
• Manual script based version control process 
• Deployment tools unaware of version control 
• No release automation red-flags… 
26
Mistrust in version control… 
Version Control Process 
A 
27 
(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’
Scripts & Version Control 
28 
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 
Scripts 
• Hard to test in their entirely (holistically) 
• Hard to test due to colliding dependencies 
• Need to run in a specific order… 
• Much harder to deal with project scope changes
Mistrust in scripting automation… 
Int QA Stage Prod 
29 
X 
1.1234567 1.1.1 
Database Deploy Script 
Re-Base (due to defects) 
Environment 
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..147 1.1 
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 
? 1.1.1 
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 or work done in parallel by 
30 
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
Traceability Coordinated Process 
Impact Analysis 
Dealing with challenges… 
31 
Start in the Beginning 
No Out-of-Process Changes 
Automation 
Task Based Development 
Well Defined Processes
Version Control - One Enforced Process 
32
Dealing with challenges… 
Integrated Database 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 
• 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 
33
34 
Bonus Points 
Task based development… 
• Correlate each database change with a change request 
• Task ID 
• Work Item 
• Trouble Ticket 
• CR 
• etc… 
…enables task based deployments 
• Partial deployments (a feature, a collection of bugs, etc…) 
• Scope changes easily synced between code and database
For deployment automation we need: 
Repeatability & Safety 
Using tools make sense …
Build & Deploy On Demand 
Int QA Stage Prod 
36 
1.1234567 
1..147 1.1 1.1 
* 
Database Deploy Script 
* Execute the same script Environment 
being executed at the 
Stage 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 
File Based 
Version Control 
Out of Process 
Change 
1..17.1 1.17.1
Using tools 
Test cases using compare & sync tools: 
An index exists in source (QA) but not in target (Production) 
What should we do? Add the index or not?
Compare & Sync tools 
Safe to automate? 
Sure… (?) 
38
Deployment Automation 
An index exists in Target (Production) but not in source (QA) 
What should we do? Drop the index or not?
Compare & Sync tools 
Safe to automate? 
No. Requires manual inspection… 
40
41 
Safe? 
Simple, right? 
NO! we are going to BREAK production without even 
knowing…
Why break production??? 
A compare & sync tool: 
• Is unaware of any changes that occurred before the time it ran 
• Has no knowledge of changes that took place at the target environment 
• Does not leverage version control for more information 
• Unable to deal with conflicts & merges between different teams 
• Requires manual inspection 
• Requires detailed knowledge regarding each change as part of the 
42 
process 
Mistrust AGAIN… 
So…no automation… as we fear automating problems into 
production and a major risk!!!
We need to leverage version control 
into deployment decisions… 
43
Safety Net For Deployment Automation 
Simple Compare & Sync Baseline aware Analysis 
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 and 3 way 
analysis the unknown is 
now known
Protecting Target Environment 
Development Baseline 
Previous Label / 
Production Golden Copy 
45 
Production 
If we had the index in the baseline => 
we should take it down from production… 
(Deploy Change)
Protecting Target Environment 
Development Baseline 
Previous Label / 
Production Golden Copy 
46 
Production 
BUT… If no index in baseline => 
we should protect the NEW index on production!!! 
(Protect Target)
Deployment Automation 
And Merge!!!
Conflict Resolving – Database Code 
48
Conflict Resolving – Meta Data/Content 
49
Impact Analysis 
50
Safety Net For Deployment Automation 
Database Safe Deployment Automation: 
• Leverages version control (baselines & previous revisions) 
• Has a flexible scope (deploy multi schema to single task or work item) 
• Can be run as a batch process (repeatable & consistent) 
• Integrates to ALM (labels, CRs, Continuous Integration & Delivery) 
• Deals with conflicts & merges to match code agility 
Can raise red flags to stop the line… 
if requires human intervention 
51
Mistrust 
• Database Version control 
• Database Automation 
52 
Awareness
Who should take ownership? 
53 
• Why?
Who should take ownership? 
• DBAs should lead adoption of database 
continuous processes 
• Building with controls to their liking 
• Making sure they are leaders in this process 
• Strong support from management 
• Understanding the value 
• Understanding risk 
• The whole industry is moving to Agile 
development and Continuous Delivery 
54
Summary - What is DBmaestro TeamWork? 
• Database Enforced Change Management solution 
+ Database version control 
+ Enforce best practices 
+ Plugs into the ALM (change request, tickets & work items) 
+ Database merge & change impact analysis 
+ Know who can do what, where, when & why 
• DevOps Solution for databases 
+ Baseline aware deployment automation, rollback & 
recovery 
+ Reduce database deployment issues 
+ Plugs into release management & Continuous Delivery
Beats by Dre 
56
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed

More Related Content

What's hot

What's hot (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
 
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...
 
Version Control meets Database Control
Version Control meets Database ControlVersion Control meets Database Control
Version Control meets Database Control
 
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...
 
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
 
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)
 
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
 
Microsoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMicrosoft SQL Server Continuous Integration
Microsoft SQL Server Continuous Integration
 
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
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database Objects
 
Successfully migrating existing databases to Azure
Successfully migrating existing databases to AzureSuccessfully migrating existing databases to Azure
Successfully migrating existing databases to Azure
 
Common Challenges in DevOps Change Management
Common Challenges in DevOps Change ManagementCommon Challenges in DevOps Change Management
Common Challenges in DevOps Change Management
 
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
 
Security Implications for a DevOps Transformation
Security Implications for a DevOps TransformationSecurity Implications for a DevOps Transformation
Security Implications for a DevOps Transformation
 
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
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?
 
The Art of Container Monitoring
The Art of Container MonitoringThe Art of Container Monitoring
The Art of Container Monitoring
 
Embracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with FlywayEmbracing DevOps through database migrations with Flyway
Embracing DevOps through database migrations with Flyway
 

Similar to DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed

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
DBmaestro - Database DevOps
 

Similar to DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed (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
 
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"
 
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
 
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
 
Webinar: "In database automation we trust"
Webinar: "In database automation we trust"Webinar: "In database automation we trust"
Webinar: "In database automation we trust"
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
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
 
DevOps for Database webinar
DevOps for Database webinarDevOps for Database webinar
DevOps for Database webinar
 
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 Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
Kku2011
Kku2011Kku2011
Kku2011
 
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
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald BelchamGetting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
 

More from DBmaestro - Database DevOps

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
DBmaestro - Database DevOps
 

More from DBmaestro - Database DevOps (9)

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
 
manage databases like codebases
manage databases like codebasesmanage databases like codebases
manage databases like codebases
 
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
 

Recently uploaded

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 

DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed

  • 1. Continuous Delivery Survey Findings Revealed Yaniv Yehuda
  • 2. Before We Begin • 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) • If you have questions during the session, please submit them on the Q&A bar on your gotowebinar dashboard and we will address them at the end • A recording of the full webinar will be put up online 2
  • 3. 3 Presenter Yaniv Yehuda • CTO, Co-Founder at DBmaestro
  • 4. About DBmaestro • Founded in 2008, product launched in 2010 • Founded by Yariv Tabac and Yaniv Yehuda • Headquartered in Israel, Global Operations
  • 5. The State of Database Continuous Delivery in 2014 5 The Survey
  • 6. The Survey • Over 150 Companies 6 • Financial (49%) • Government (21%) • Retail (20%) • Other (10%) • Over 200 participants • DBAs (26%) • Developers (24%) • Directors (16%) • IT Ops (12%) • Others (22%) – can I got more data about this?
  • 7. The State of Database Continuous Delivery in 2014 • What is Continuous Delivery? • Why is it important? 7 The Survey
  • 8. Automation is the Name of the Game… Continuous Integration Continuous Delivery Continuous Deployment 8
  • 9. What is Continuous Integration? • A process… • Focus on streamlining development • Developers integrate code into shared repository • Each check-in is verified • Automated builds • Automated tests • A feedback loop • High visibility • Easier & quicker to prevent and find problems, less back tracks => short integrations 9
  • 10. And Continuous Delivery? • Next step after continuous integration • Becoming lean, and even more Agile • Make sure each change is releasable • Develop-> build-> test-> move to staging-> acceptance test • Build a process to release with a push of a button • Deploy to production-> test production • Actual deployment to production is manually actuated => Ensure risk mitigation and high efficiency 10
  • 11. Continuous Delivery Moving Ahead! • Why is that happening? 11
  • 12. Living in an Agile world… • Doing better with less • Reacting quickly to market needs • Getting ahead of competition • Just can’t wait 6 months for that next release… 12 • Agile Development • Process Automation • DevOps
  • 13. Dealing with Risk  Smaller and more focused changes are easier to manage (Agile…)  Automation of repeating tasks lowers risk of (human) error  Development and Operations should work in synergy (DevOps)
  • 14. Why Continuous Delivery? 14 • Rapid changes • Reacting quickly to market needs • Getting ahead of competition • Fewer changes backed out • Better collaboration • Fewer defects • Ultimately better service • Happy customers • Profitability
  • 15. 15 This is why!
  • 17. Where is the gap? • Why not 100%? • What is so special about the database? 17
  • 18. Database is a Key Component • The database holds your essential information • Any changes can impact the entire system • Need to be synchronized with other changes • Often overlooked 18
  • 19. Reaching Inside the Database • There is more to a database than SQL scripts • Schema structure • Code • Content and meta-content • Internal dependencies • … • Ensure that changes are not made without authorization • Ensure no out-of-process changes 19
  • 20. The Weakest Link In a Chain • Old adage but true • The database is often neglected and therefore can become the weakest link • Essential from a compliance and business point of 20 view • Should be the strongest link
  • 21. Down from 81% to a HALF? 21 • Why?
  • 22. Developers and DBAs • Silos exist… • Don’t always communicate effectively • Need to share knowledge • Need to follow same procedures & best practices 22
  • 23. So why not move forward? 23 • Mistrust…
  • 24. Let talk about Mistrust… “it was difficult to track who made a change to a database object and what change they made.” (working-around file based version control) “it took hours to get releases working. some changes were not documented and left out…” (manual and error prone releases) “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) 24
  • 25. Let talk about Mistrust… “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) “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…” (manual process are hard to repeat over and over without errors) 25
  • 26. • Root Causes for issues: • Manual script based version control process • Deployment tools unaware of version control • No release automation red-flags… 26
  • 27. Mistrust in version control… Version Control Process A 27 (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’
  • 28. Scripts & Version Control 28 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 Scripts • Hard to test in their entirely (holistically) • Hard to test due to colliding dependencies • Need to run in a specific order… • Much harder to deal with project scope changes
  • 29. Mistrust in scripting automation… Int QA Stage Prod 29 X 1.1234567 1.1.1 Database Deploy Script Re-Base (due to defects) Environment 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..147 1.1 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 ? 1.1.1 X
  • 30. 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 or work done in parallel by 30 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
  • 31. Traceability Coordinated Process Impact Analysis Dealing with challenges… 31 Start in the Beginning No Out-of-Process Changes Automation Task Based Development Well Defined Processes
  • 32. Version Control - One Enforced Process 32
  • 33. Dealing with challenges… Integrated Database 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 • 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 33
  • 34. 34 Bonus Points Task based development… • Correlate each database change with a change request • Task ID • Work Item • Trouble Ticket • CR • etc… …enables task based deployments • Partial deployments (a feature, a collection of bugs, etc…) • Scope changes easily synced between code and database
  • 35. For deployment automation we need: Repeatability & Safety Using tools make sense …
  • 36. Build & Deploy On Demand Int QA Stage Prod 36 1.1234567 1..147 1.1 1.1 * Database Deploy Script * Execute the same script Environment being executed at the Stage 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 File Based Version Control Out of Process Change 1..17.1 1.17.1
  • 37. Using tools Test cases using compare & sync tools: An index exists in source (QA) but not in target (Production) What should we do? Add the index or not?
  • 38. Compare & Sync tools Safe to automate? Sure… (?) 38
  • 39. Deployment Automation An index exists in Target (Production) but not in source (QA) What should we do? Drop the index or not?
  • 40. Compare & Sync tools Safe to automate? No. Requires manual inspection… 40
  • 41. 41 Safe? Simple, right? NO! we are going to BREAK production without even knowing…
  • 42. Why break production??? A compare & sync tool: • Is unaware of any changes that occurred before the time it ran • Has no knowledge of changes that took place at the target environment • Does not leverage version control for more information • Unable to deal with conflicts & merges between different teams • Requires manual inspection • Requires detailed knowledge regarding each change as part of the 42 process Mistrust AGAIN… So…no automation… as we fear automating problems into production and a major risk!!!
  • 43. We need to leverage version control into deployment decisions… 43
  • 44. Safety Net For Deployment Automation Simple Compare & Sync Baseline aware Analysis 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 and 3 way analysis the unknown is now known
  • 45. Protecting Target Environment Development Baseline Previous Label / Production Golden Copy 45 Production If we had the index in the baseline => we should take it down from production… (Deploy Change)
  • 46. Protecting Target Environment Development Baseline Previous Label / Production Golden Copy 46 Production BUT… If no index in baseline => we should protect the NEW index on production!!! (Protect Target)
  • 48. Conflict Resolving – Database Code 48
  • 49. Conflict Resolving – Meta Data/Content 49
  • 51. Safety Net For Deployment Automation Database Safe Deployment Automation: • Leverages version control (baselines & previous revisions) • Has a flexible scope (deploy multi schema to single task or work item) • Can be run as a batch process (repeatable & consistent) • Integrates to ALM (labels, CRs, Continuous Integration & Delivery) • Deals with conflicts & merges to match code agility Can raise red flags to stop the line… if requires human intervention 51
  • 52. Mistrust • Database Version control • Database Automation 52 Awareness
  • 53. Who should take ownership? 53 • Why?
  • 54. Who should take ownership? • DBAs should lead adoption of database continuous processes • Building with controls to their liking • Making sure they are leaders in this process • Strong support from management • Understanding the value • Understanding risk • The whole industry is moving to Agile development and Continuous Delivery 54
  • 55. Summary - What is DBmaestro TeamWork? • Database Enforced Change Management solution + Database version control + Enforce best practices + Plugs into the ALM (change request, tickets & work items) + Database merge & change impact analysis + Know who can do what, where, when & why • DevOps Solution for databases + Baseline aware deployment automation, rollback & recovery + Reduce database deployment issues + Plugs into release management & Continuous Delivery