SlideShare a Scribd company logo
1 of 30
Database DevOps
anti-patterns
DLM Consultants
Alex Yates
(How to screw up your ability to deliver
schema changes in 15 simple steps)
DLM Consultants
Alex Yates
workingwithdevs.com
alex.yates@dlmconsultants.com
DLM Consultants
Alex Yates
@_AlexYates_ | #sqlinthecity
@_AlexYates_
#sqlinthecity
“10,000 releases per day”
Alistair Hann, SkyScanner
@_AlexYates_
#sqlinthecity
Step 1: Fear every change
@_AlexYates_
#sqlinthecity
Step 2:Wait until you are already screwed
@_AlexYates_
#sqlinthecity
Step 3: Build a tangled web of databases
@_AlexYates_
#sqlinthecity
Step 4: Customize each production instance
@_AlexYates_
#sqlinthecity
Step 5: Don’t use a standard source control process
@_AlexYates_
#sqlinthecity
Step 6: Impose new process on underlings
@_AlexYates_
#sqlinthecity
Step 7: Don’t provide any training
@_AlexYates_
#sqlinthecity
Step 8: Use the wrong model/migration approach
@_AlexYates_
#sqlinthecity
“There's nothing more reliable than
keeping track of exactly the scripts you
intend to run, and running them,
without trying to compare state and
guess.”
Paul Stovell, Octopus Deploy
@_AlexYates_
#sqlinthecity
“As soon as you have multiple changes
on a single aspect of an object,
ordering and the ability to detect
which change needs to be made gets
very complicated.”
Gert Drapers, built Data Dude
@_AlexYates_
#sqlinthecity
“Small teams who
make few changes and have
few programmable objects
are well suited to migrations.
Otherwise declarative models scale better.”
Alex Yates, DLM Consultants
@_AlexYates_
#sqlinthecity
Step 8: Use the wrong model/migration approach
@_AlexYates_
#sqlinthecity
Step 9: Hot-fix all the problems in production
@_AlexYates_
#sqlinthecity
Step 10: Don’t use branching or tagging
@_AlexYates_
#sqlinthecity
Step 11: Use branches to solve every problem
@_AlexYates_
#sqlinthecity
Step 12: Re-invent the wheel
@_AlexYates_
#sqlinthecity
Step 13: Have a functional stand-off
@_AlexYates_
#sqlinthecity
Step 14: Create a DevOps teams/role
http://devopstopologies.com/
@_AlexYates_
#sqlinthecity
Step 15: Give up.
(You are too big, small, broken, not broken, greenfield, brownfield, agile,
waterfall, complicated, simple, inexperienced, experienced, regulated or
unregulated anyway. It’ll never work.)
@_AlexYates_
#sqlinthecity
http://devopstopologies.co
Fear every change
Wait until you are already screwed
Build a tangled web of databases
Customize each production instance
Don’t use a standard source control process
Impose new process on underlings
Don’t provide any training
Use the wrong model/migration approach
Hot-fix all the problems in production
Don’t use branching or tagging
Use branches to solve every problem
Re-invent the wheel
Have a functional stand-off
Create a DevOps teams/role
Give up.
DON’T
…
http://devopstopologies.co
Embrace change, carefully
Adopt DevOps early
Avoid cross-database dependencies
Standardize production instances
Use a standard source control process
Involve everyone
Provide training
Use the right model/migration approach
Avoid production hotfixes
Use branching when appropriate
Use branches sparingly
Use industry standard solutions
Work collaboratively across silos
Structure for success
Persevere.
DO
E: alex.yates@dlmconsultants.com
T: @_AlexYates_
W: www.dlmconsultants.com
Author Name Source Licence
Chiltepinster Mocking Bird Argument Wikimedia Commons Creative Commons Attribution-Share Alike 3.0 Unported
Nils Rinaldi Hippo Fight 2/3 Flickr Creative Commons Attribution 2.0 Generic license
boeingboeing2 We still have enough duct tape Deviant Art Creative Commons Attribution-NonCommercial 3.0 Unported
PDTillman Mini monster truck Wikimedia Commons Creative Commons Attribution 2.0 Generic license
foshie Stretched ini – Flickr - foshie Wikimedia Commons Creative Commons Attribution 2.0 Generic license
Julian Burgess Double decker mini Flickr Creative Commons Attribution 2.0 Generic license
Charbel Akhras Pimped Mini Convertible Mini Cooper Flickr Attribution-NoDerivs 2.0 Generic
Watchduck Sheet weaver spider web Wikimedia Commons GNU Free Documentation Licence
Linnaea Mallette Old Wagon Wheel Public Domain Pictures CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
Unsplash Train tracks Pixabay CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
Arne Hückelheim Sunset Tracks Crop Wikimedia Commons Creative Commons Attribution-Share Alike 3.0 Unported + GNU Free Documentation Licence
Jan Jacobsen White Flag Wikimedia Commons Creative Commons Attribution-Share Alike 3.0 Unported
Image sources
References:
www.dlmconsultants.com/sitc

More Related Content

What's hot

Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Andreas Grabner
 
DataEngConf SF16 - Three lessons learned from building a production machine l...
DataEngConf SF16 - Three lessons learned from building a production machine l...DataEngConf SF16 - Three lessons learned from building a production machine l...
DataEngConf SF16 - Three lessons learned from building a production machine l...Hakka Labs
 
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and TestersHugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and TestersAndreas Grabner
 
Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness John Willis
 
Demystifying Web Performance
Demystifying Web PerformanceDemystifying Web Performance
Demystifying Web PerformanceAtlassian
 
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyDocker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyAndreas Grabner
 
Quality at Speed - Penny Wyatt
Quality at Speed - Penny WyattQuality at Speed - Penny Wyatt
Quality at Speed - Penny WyattAtlassian
 
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Andreas Grabner
 
Four Practices to Fix Your Top .NET Performance Problems
Four Practices to Fix Your Top .NET Performance ProblemsFour Practices to Fix Your Top .NET Performance Problems
Four Practices to Fix Your Top .NET Performance ProblemsAndreas Grabner
 
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Andreas Grabner
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsAndreas Grabner
 
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...Andreas Grabner
 
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth LaunchLoad Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth LaunchAcquia
 
Validations 101
Validations 101Validations 101
Validations 101Tom Ridge
 
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!Andreas Grabner
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryAndreas Grabner
 
Web and App Performance: Top Problems to avoid to keep you out of the News
Web and App Performance: Top Problems to avoid to keep you out of the NewsWeb and App Performance: Top Problems to avoid to keep you out of the News
Web and App Performance: Top Problems to avoid to keep you out of the NewsAndreas Grabner
 
Breaking things on purpose (with Gremlin)
Breaking things on purpose (with Gremlin)Breaking things on purpose (with Gremlin)
Breaking things on purpose (with Gremlin)Kolton Andrus
 

What's hot (20)

Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
 
Supervise your Akka actors - Devoxx
Supervise your Akka actors - Devoxx Supervise your Akka actors - Devoxx
Supervise your Akka actors - Devoxx
 
DataEngConf SF16 - Three lessons learned from building a production machine l...
DataEngConf SF16 - Three lessons learned from building a production machine l...DataEngConf SF16 - Three lessons learned from building a production machine l...
DataEngConf SF16 - Three lessons learned from building a production machine l...
 
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and TestersHugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
Hugs instead of Bugs: Dreaming of Quality Tools for Devs and Testers
 
Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness
 
Demystifying Web Performance
Demystifying Web PerformanceDemystifying Web Performance
Demystifying Web Performance
 
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyDocker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
 
Quality at Speed - Penny Wyatt
Quality at Speed - Penny WyattQuality at Speed - Penny Wyatt
Quality at Speed - Penny Wyatt
 
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
 
Four Practices to Fix Your Top .NET Performance Problems
Four Practices to Fix Your Top .NET Performance ProblemsFour Practices to Fix Your Top .NET Performance Problems
Four Practices to Fix Your Top .NET Performance Problems
 
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
Top .NET, Java & Web Performance Mistakes - Meetup Jan 2015
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance Tips
 
(R)evolutionize APM
(R)evolutionize APM(R)evolutionize APM
(R)evolutionize APM
 
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
 
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth LaunchLoad Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
 
Validations 101
Validations 101Validations 101
Validations 101
 
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
 
Web and App Performance: Top Problems to avoid to keep you out of the News
Web and App Performance: Top Problems to avoid to keep you out of the NewsWeb and App Performance: Top Problems to avoid to keep you out of the News
Web and App Performance: Top Problems to avoid to keep you out of the News
 
Breaking things on purpose (with Gremlin)
Breaking things on purpose (with Gremlin)Breaking things on purpose (with Gremlin)
Breaking things on purpose (with Gremlin)
 

Similar to Database DevOps Anti-patterns

Do More With Less: SQL Central Management Server and Multi-Server Administration
Do More With Less: SQL Central Management Server and Multi-Server AdministrationDo More With Less: SQL Central Management Server and Multi-Server Administration
Do More With Less: SQL Central Management Server and Multi-Server AdministrationMike Hillwig
 
STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)Mike Subelsky
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationEric Ries
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationTimothy Fitz
 
NoSQL - No Security? - The BSides Edition
NoSQL - No Security? - The BSides EditionNoSQL - No Security? - The BSides Edition
NoSQL - No Security? - The BSides EditionGavin Holt
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAdam Getchell
 
My web application in 20 minutes with Telosys
My web application in 20 minutes with Telosys My web application in 20 minutes with Telosys
My web application in 20 minutes with Telosys Laurent Guérin
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deploymentLilia Sfaxi
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deploymentBen Hall
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...Daniel Bryant
 
Most Useful Design Patterns
Most Useful Design PatternsMost Useful Design Patterns
Most Useful Design PatternsSteven Smith
 
Accelerate application delivery with docker containers and windows server 2016
Accelerate application delivery with docker containers and windows server 2016Accelerate application delivery with docker containers and windows server 2016
Accelerate application delivery with docker containers and windows server 2016Taylor Brown
 
Salesforce Flows Architecture Best Practices
Salesforce Flows Architecture Best PracticesSalesforce Flows Architecture Best Practices
Salesforce Flows Architecture Best Practicespanayaofficial
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOpsTechWell
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesShiva Narayanaswamy
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toilAmbassador Labs
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...Daniel Bryant
 

Similar to Database DevOps Anti-patterns (20)

Do More With Less: SQL Central Management Server and Multi-Server Administration
Do More With Less: SQL Central Management Server and Multi-Server AdministrationDo More With Less: SQL Central Management Server and Multi-Server Administration
Do More With Less: SQL Central Management Server and Multi-Server Administration
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
NoSQL - No Security? - The BSides Edition
NoSQL - No Security? - The BSides EditionNoSQL - No Security? - The BSides Edition
NoSQL - No Security? - The BSides Edition
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
My web application in 20 minutes with Telosys
My web application in 20 minutes with Telosys My web application in 20 minutes with Telosys
My web application in 20 minutes with Telosys
 
Mon application web en 20 minutes
Mon application web en 20 minutesMon application web en 20 minutes
Mon application web en 20 minutes
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
 
Most Useful Design Patterns
Most Useful Design PatternsMost Useful Design Patterns
Most Useful Design Patterns
 
Accelerate application delivery with docker containers and windows server 2016
Accelerate application delivery with docker containers and windows server 2016Accelerate application delivery with docker containers and windows server 2016
Accelerate application delivery with docker containers and windows server 2016
 
Salesforce Flows Architecture Best Practices
Salesforce Flows Architecture Best PracticesSalesforce Flows Architecture Best Practices
Salesforce Flows Architecture Best Practices
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOps
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 

More from Alex Yates

SQL Bits: Containers and Clones
SQL Bits: Containers and ClonesSQL Bits: Containers and Clones
SQL Bits: Containers and ClonesAlex Yates
 
Adopting DLM at Greentube
Adopting DLM at GreentubeAdopting DLM at Greentube
Adopting DLM at GreentubeAlex Yates
 
Containers and Clones – Provision many giant SQL Servers in seconds on a tiny...
Containers and Clones – Provision many giant SQL Servers in seconds on a tiny...Containers and Clones – Provision many giant SQL Servers in seconds on a tiny...
Containers and Clones – Provision many giant SQL Servers in seconds on a tiny...Alex Yates
 
Getting Release Management Right for SQL Server
Getting Release Management Right for SQL ServerGetting Release Management Right for SQL Server
Getting Release Management Right for SQL ServerAlex Yates
 
DevOps 101 for data professionals
DevOps 101 for data professionalsDevOps 101 for data professionals
DevOps 101 for data professionalsAlex Yates
 

More from Alex Yates (6)

SQL Bits: Containers and Clones
SQL Bits: Containers and ClonesSQL Bits: Containers and Clones
SQL Bits: Containers and Clones
 
Adopting DLM at Greentube
Adopting DLM at GreentubeAdopting DLM at Greentube
Adopting DLM at Greentube
 
Containers and Clones – Provision many giant SQL Servers in seconds on a tiny...
Containers and Clones – Provision many giant SQL Servers in seconds on a tiny...Containers and Clones – Provision many giant SQL Servers in seconds on a tiny...
Containers and Clones – Provision many giant SQL Servers in seconds on a tiny...
 
GDPR and DLM
GDPR and DLMGDPR and DLM
GDPR and DLM
 
Getting Release Management Right for SQL Server
Getting Release Management Right for SQL ServerGetting Release Management Right for SQL Server
Getting Release Management Right for SQL Server
 
DevOps 101 for data professionals
DevOps 101 for data professionalsDevOps 101 for data professionals
DevOps 101 for data professionals
 

Recently uploaded

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 

Recently uploaded (20)

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 

Database DevOps Anti-patterns

  • 1.
  • 3. (How to screw up your ability to deliver schema changes in 15 simple steps) DLM Consultants Alex Yates
  • 6. “10,000 releases per day” Alistair Hann, SkyScanner @_AlexYates_ #sqlinthecity
  • 7. Step 1: Fear every change @_AlexYates_ #sqlinthecity
  • 8. Step 2:Wait until you are already screwed @_AlexYates_ #sqlinthecity
  • 9. Step 3: Build a tangled web of databases @_AlexYates_ #sqlinthecity
  • 10. Step 4: Customize each production instance @_AlexYates_ #sqlinthecity
  • 11. Step 5: Don’t use a standard source control process @_AlexYates_ #sqlinthecity
  • 12. Step 6: Impose new process on underlings @_AlexYates_ #sqlinthecity
  • 13. Step 7: Don’t provide any training @_AlexYates_ #sqlinthecity
  • 14. Step 8: Use the wrong model/migration approach @_AlexYates_ #sqlinthecity
  • 15. “There's nothing more reliable than keeping track of exactly the scripts you intend to run, and running them, without trying to compare state and guess.” Paul Stovell, Octopus Deploy @_AlexYates_ #sqlinthecity
  • 16. “As soon as you have multiple changes on a single aspect of an object, ordering and the ability to detect which change needs to be made gets very complicated.” Gert Drapers, built Data Dude @_AlexYates_ #sqlinthecity
  • 17. “Small teams who make few changes and have few programmable objects are well suited to migrations. Otherwise declarative models scale better.” Alex Yates, DLM Consultants @_AlexYates_ #sqlinthecity
  • 18. Step 8: Use the wrong model/migration approach @_AlexYates_ #sqlinthecity
  • 19. Step 9: Hot-fix all the problems in production @_AlexYates_ #sqlinthecity
  • 20. Step 10: Don’t use branching or tagging @_AlexYates_ #sqlinthecity
  • 21. Step 11: Use branches to solve every problem @_AlexYates_ #sqlinthecity
  • 22. Step 12: Re-invent the wheel @_AlexYates_ #sqlinthecity
  • 23. Step 13: Have a functional stand-off @_AlexYates_ #sqlinthecity
  • 24. Step 14: Create a DevOps teams/role http://devopstopologies.com/ @_AlexYates_ #sqlinthecity
  • 25. Step 15: Give up. (You are too big, small, broken, not broken, greenfield, brownfield, agile, waterfall, complicated, simple, inexperienced, experienced, regulated or unregulated anyway. It’ll never work.) @_AlexYates_ #sqlinthecity
  • 26. http://devopstopologies.co Fear every change Wait until you are already screwed Build a tangled web of databases Customize each production instance Don’t use a standard source control process Impose new process on underlings Don’t provide any training Use the wrong model/migration approach Hot-fix all the problems in production Don’t use branching or tagging Use branches to solve every problem Re-invent the wheel Have a functional stand-off Create a DevOps teams/role Give up. DON’T …
  • 27. http://devopstopologies.co Embrace change, carefully Adopt DevOps early Avoid cross-database dependencies Standardize production instances Use a standard source control process Involve everyone Provide training Use the right model/migration approach Avoid production hotfixes Use branching when appropriate Use branches sparingly Use industry standard solutions Work collaboratively across silos Structure for success Persevere. DO
  • 29. Author Name Source Licence Chiltepinster Mocking Bird Argument Wikimedia Commons Creative Commons Attribution-Share Alike 3.0 Unported Nils Rinaldi Hippo Fight 2/3 Flickr Creative Commons Attribution 2.0 Generic license boeingboeing2 We still have enough duct tape Deviant Art Creative Commons Attribution-NonCommercial 3.0 Unported PDTillman Mini monster truck Wikimedia Commons Creative Commons Attribution 2.0 Generic license foshie Stretched ini – Flickr - foshie Wikimedia Commons Creative Commons Attribution 2.0 Generic license Julian Burgess Double decker mini Flickr Creative Commons Attribution 2.0 Generic license Charbel Akhras Pimped Mini Convertible Mini Cooper Flickr Attribution-NoDerivs 2.0 Generic Watchduck Sheet weaver spider web Wikimedia Commons GNU Free Documentation Licence Linnaea Mallette Old Wagon Wheel Public Domain Pictures CC0 1.0 Universal (CC0 1.0) Public Domain Dedication Unsplash Train tracks Pixabay CC0 1.0 Universal (CC0 1.0) Public Domain Dedication Arne Hückelheim Sunset Tracks Crop Wikimedia Commons Creative Commons Attribution-Share Alike 3.0 Unported + GNU Free Documentation Licence Jan Jacobsen White Flag Wikimedia Commons Creative Commons Attribution-Share Alike 3.0 Unported Image sources