SlideShare a Scribd company logo
Best Practices for
Database Deployments
Grant Fritchey, Justin Caldicott
#sqlinthecity
Goals
• Understand how to create your own deployment
mechanisms
• Learn about the tools available for automation of
the deployment process
• Acquire the knowledge of how to test your
deployments
#sqlinthecity
The Database “Problem”
• Information persistence layer
• Businesses like their data
• Keeping that data in place can be work
– Which is the start of the “problem”
• Object Relational Impedance Mismatch
– Which is the rest of the “problem”
3
The Database “Solution”
• Treat it as much like code as possible
• Do the following
– Work directly with the development team
– Define a repeatable process
– Put the database into source control
– Put tests in place to validate the database
– Automate as much of the process as possible
• Follow the local development paradigm as much
as possible
4
Process: Team Glue
• You must define a process
– It’s your process, you define it
• Management buy-in
• Write the process down
– And publish it
• Review process regularly
• Follow the process
– Exceptions have to be exceptional
• The process applies to everyone
– No, DBAs, you’re not that special
5
Development Process
Development
QA/Testing
Production
Building a Deployment Process
Development
QA/Testing
Production
Building a Deployment Process
• Production deployment script
• Test script on copy of production
• Generate script for production from label
• Label code in source control
• Add changes to source control
• Make changes to code
• Get code from source control
Source Control
• Two known states
– Production
– Source Control
• Ensures coupling between application and
database
• History of changes
• Auditing
Demo
Testing Deployments
• ABD
– Always Be Deploying
• Unit Testing
• Continuous Integration
• Copies of production
Demo
Deploying to Multiple Environments
• Multiple moves between multiple environments
• Every deployment is practice
Deploying to Multiple Environments
• Multiple moves between multiple environments
• Every deployment is practice
Deploying to Multiple Environments
• Multiple moves between multiple environments
• Every deployment is practice
Deploying to Multiple Environments
• Multiple moves between multiple environments
• Every deployment is practice
Demo
Integrating Database with Application
• Coupled through source control
• Labeled together
• Deployed together
• Database is deployed first
Demo
Deployment Automation
• Remove humans from the equation
• Speed the process
• Make the process repeatable
• Take advantage of the tools you know
Demo
Summary
• Define a process
• Work backwards from production
• All database code in source control
• Integrate tightly with development team
• Test and validate all code
• Automate as much as possible
Goals
• Understand how to create your own deployment
mechanisms
• Learn about the tools available for automation of
the deployment process
• Acquire the knowledge of how to test your
deployments
#sqlinthecity

More Related Content

What's hot (20)

PDF
CNUG TDD June 2014
Mayank Srivastava
 
PPTX
Fluent validation
Saravanan Subburayal
 
PPTX
Unit Testing talk
Sergei Kukharev
 
PPTX
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Andrey Rebrov
 
PDF
The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...
C4Media
 
PPTX
Avoiding test hell
Yun Ki Lee
 
PPTX
Lessons Learned Monitoring Production
Aviran Mordo
 
PPTX
SQL Server Tips & Tricks
Ike Ellis
 
PPTX
Test Automation Canvas
Andrey Rebrov
 
PPTX
Making a Mock by Kelsey Shannahan
QA or the Highway
 
PPTX
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Neotys_Partner
 
PDF
Improving Test Team Throughput via Architecture by Dustin Williams
QA or the Highway
 
PDF
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
.NET Conf UY
 
PPTX
Test Your Own Stuff - Scrum Atlanta 2015
Alex Kell
 
PPTX
Spec By Example or How to teach people talk to each other
Andrey Rebrov
 
PPT
How engineering practices help business
Andrey Rebrov
 
PPTX
Steve Jones - Team-based Version Control
Red Gate Software
 
PDF
Introduction to Automated Testing
Lars Thorup
 
KEY
Driving application development through behavior driven development
Einar Ingebrigtsen
 
PPTX
Intro to devops - Begin with End in Mind
Laavanya Kathiresen
 
CNUG TDD June 2014
Mayank Srivastava
 
Fluent validation
Saravanan Subburayal
 
Unit Testing talk
Sergei Kukharev
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Andrey Rebrov
 
The Evolution of Testing Methodology at AWS: From Status Quo to Formal Method...
C4Media
 
Avoiding test hell
Yun Ki Lee
 
Lessons Learned Monitoring Production
Aviran Mordo
 
SQL Server Tips & Tricks
Ike Ellis
 
Test Automation Canvas
Andrey Rebrov
 
Making a Mock by Kelsey Shannahan
QA or the Highway
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Neotys_Partner
 
Improving Test Team Throughput via Architecture by Dustin Williams
QA or the Highway
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
.NET Conf UY
 
Test Your Own Stuff - Scrum Atlanta 2015
Alex Kell
 
Spec By Example or How to teach people talk to each other
Andrey Rebrov
 
How engineering practices help business
Andrey Rebrov
 
Steve Jones - Team-based Version Control
Red Gate Software
 
Introduction to Automated Testing
Lars Thorup
 
Driving application development through behavior driven development
Einar Ingebrigtsen
 
Intro to devops - Begin with End in Mind
Laavanya Kathiresen
 

Viewers also liked (7)

PPT
Sql Dla Administratora i Dewelopera
nexik
 
PDF
Schema change management - Kevin Hazzard
Red Gate Software
 
PDF
SQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGrala
Polish SQL Server User Group
 
PDF
Github github-github
fusion2011
 
PDF
Practical Typography
victorloux
 
PPTX
Quick intro sul Source Control su SQL Server
Alessandro Alpi
 
PPTX
Integreation
Sean Killeen
 
Sql Dla Administratora i Dewelopera
nexik
 
Schema change management - Kevin Hazzard
Red Gate Software
 
SQLDay2011_Sesja01_ModelowanieIZasilanieWymiarówHurtowniDanych_ŁukaszGrala
Polish SQL Server User Group
 
Github github-github
fusion2011
 
Practical Typography
victorloux
 
Quick intro sul Source Control su SQL Server
Alessandro Alpi
 
Integreation
Sean Killeen
 
Ad

Similar to Grant Fritchey Justin Caldicott - Best practices for database deployments (20)

PPTX
Part of the DLM story: Get your Database under Source Control - SQL In The City
Red Gate Software
 
ODP
Making security-agile matt-tesauro
Matt Tesauro
 
PPTX
Road to Continuous Delivery - Wix.com
Aviran Mordo
 
PDF
DevOps, Common use cases, Architectures, Best Practices
Shiva Narayanaswamy
 
PPTX
Load testing with Visual Studio and Azure - Andrew Siemer
Andrew Siemer
 
PPT
Software testing-and-analysis
WBUTTUTORIALS
 
PDF
Preparing for DevOps
Eklove Mohan
 
PDF
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria
 
PDF
AppSec in an Agile World
David Lindner
 
PPTX
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
 
PDF
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
PPTX
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
DevOpsDays Tel Aviv
 
ODP
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Matt Tesauro
 
PDF
Road to database automation - Database source control
Eduardo Piairo
 
PDF
Agile db testing_techniques
Tarik Essawi
 
PPTX
Continuous Delivery - Automate & Build Better Software with Travis CI
wajrcs
 
PPTX
Test Driven Development & CI/CD
Shanmuga S Muthu
 
KEY
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Chris Weldon
 
PDF
Test Automation for Data Warehouses
Patrick Van Renterghem
 
PDF
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Ortus Solutions, Corp
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Red Gate Software
 
Making security-agile matt-tesauro
Matt Tesauro
 
Road to Continuous Delivery - Wix.com
Aviran Mordo
 
DevOps, Common use cases, Architectures, Best Practices
Shiva Narayanaswamy
 
Load testing with Visual Studio and Azure - Andrew Siemer
Andrew Siemer
 
Software testing-and-analysis
WBUTTUTORIALS
 
Preparing for DevOps
Eklove Mohan
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria
 
AppSec in an Agile World
David Lindner
 
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
DevOpsDays Tel Aviv
 
Dev ops ci-ap-is-oh-my_security-gone-agile_ut-austin
Matt Tesauro
 
Road to database automation - Database source control
Eduardo Piairo
 
Agile db testing_techniques
Tarik Essawi
 
Continuous Delivery - Automate & Build Better Software with Travis CI
wajrcs
 
Test Driven Development & CI/CD
Shanmuga S Muthu
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Chris Weldon
 
Test Automation for Data Warehouses
Patrick Van Renterghem
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Ortus Solutions, Corp
 
Ad

More from Red Gate Software (20)

PDF
The future of DevOps: fully left-shifted deployments with version control and...
Red Gate Software
 
PDF
Embracing DevOps through database migrations with Flyway
Red Gate Software
 
PPTX
Database DevOps for Managed Service Providers
Red Gate Software
 
PDF
Mizuho Financial: Launching our Database DevOps journey
Red Gate Software
 
PDF
7 steps to effective SQL Server monitoring
Red Gate Software
 
PDF
Level up your deployments for SQL Source Control
Red Gate Software
 
PDF
Key findings from the 2020 state of database dev ops report
Red Gate Software
 
PPTX
Extend DevOps to Your SQL Server Databases
Red Gate Software
 
PDF
2019 year in review slides
Red Gate Software
 
PPTX
What we learned at PASS Summit in 2019
Red Gate Software
 
PPTX
Quality in Software Development: Anglia Ruskin University
Red Gate Software
 
PPTX
How SQL Change Automation helps you deliver value faster
Red Gate Software
 
PPTX
DevOps essentials from Abel Wang and Steve Jones
Red Gate Software
 
PPTX
Successfully migrating existing databases to Azure
Red Gate Software
 
PPTX
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
Red Gate Software
 
PDF
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Red Gate Software
 
PDF
Using Redgate, AKS and Azure to bring DevOps to your database
Red Gate Software
 
PDF
Using Redgate, AKS and Azure to bring DevOps to your Database
Red Gate Software
 
PDF
How to Pitch a Software Development Initiative and Ignite Culture Change
Red Gate Software
 
PDF
Taming the Wild West
Red Gate Software
 
The future of DevOps: fully left-shifted deployments with version control and...
Red Gate Software
 
Embracing DevOps through database migrations with Flyway
Red Gate Software
 
Database DevOps for Managed Service Providers
Red Gate Software
 
Mizuho Financial: Launching our Database DevOps journey
Red Gate Software
 
7 steps to effective SQL Server monitoring
Red Gate Software
 
Level up your deployments for SQL Source Control
Red Gate Software
 
Key findings from the 2020 state of database dev ops report
Red Gate Software
 
Extend DevOps to Your SQL Server Databases
Red Gate Software
 
2019 year in review slides
Red Gate Software
 
What we learned at PASS Summit in 2019
Red Gate Software
 
Quality in Software Development: Anglia Ruskin University
Red Gate Software
 
How SQL Change Automation helps you deliver value faster
Red Gate Software
 
DevOps essentials from Abel Wang and Steve Jones
Red Gate Software
 
Successfully migrating existing databases to Azure
Red Gate Software
 
The Ultimate Guide to Choosing and Implementing the Right Monitoring Tool
Red Gate Software
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Red Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your database
Red Gate Software
 
Using Redgate, AKS and Azure to bring DevOps to your Database
Red Gate Software
 
How to Pitch a Software Development Initiative and Ignite Culture Change
Red Gate Software
 
Taming the Wild West
Red Gate Software
 

Recently uploaded (20)

PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Digital Circuits, important subject in CS
contactparinay1
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 

Grant Fritchey Justin Caldicott - Best practices for database deployments

  • 1. Best Practices for Database Deployments Grant Fritchey, Justin Caldicott #sqlinthecity
  • 2. Goals • Understand how to create your own deployment mechanisms • Learn about the tools available for automation of the deployment process • Acquire the knowledge of how to test your deployments #sqlinthecity
  • 3. The Database “Problem” • Information persistence layer • Businesses like their data • Keeping that data in place can be work – Which is the start of the “problem” • Object Relational Impedance Mismatch – Which is the rest of the “problem” 3
  • 4. The Database “Solution” • Treat it as much like code as possible • Do the following – Work directly with the development team – Define a repeatable process – Put the database into source control – Put tests in place to validate the database – Automate as much of the process as possible • Follow the local development paradigm as much as possible 4
  • 5. Process: Team Glue • You must define a process – It’s your process, you define it • Management buy-in • Write the process down – And publish it • Review process regularly • Follow the process – Exceptions have to be exceptional • The process applies to everyone – No, DBAs, you’re not that special 5
  • 7. Building a Deployment Process Development QA/Testing Production
  • 8. Building a Deployment Process • Production deployment script • Test script on copy of production • Generate script for production from label • Label code in source control • Add changes to source control • Make changes to code • Get code from source control
  • 9. Source Control • Two known states – Production – Source Control • Ensures coupling between application and database • History of changes • Auditing
  • 10. Demo
  • 11. Testing Deployments • ABD – Always Be Deploying • Unit Testing • Continuous Integration • Copies of production
  • 12. Demo
  • 13. Deploying to Multiple Environments • Multiple moves between multiple environments • Every deployment is practice
  • 14. Deploying to Multiple Environments • Multiple moves between multiple environments • Every deployment is practice
  • 15. Deploying to Multiple Environments • Multiple moves between multiple environments • Every deployment is practice
  • 16. Deploying to Multiple Environments • Multiple moves between multiple environments • Every deployment is practice
  • 17. Demo
  • 18. Integrating Database with Application • Coupled through source control • Labeled together • Deployed together • Database is deployed first
  • 19. Demo
  • 20. Deployment Automation • Remove humans from the equation • Speed the process • Make the process repeatable • Take advantage of the tools you know
  • 21. Demo
  • 22. Summary • Define a process • Work backwards from production • All database code in source control • Integrate tightly with development team • Test and validate all code • Automate as much as possible
  • 23. Goals • Understand how to create your own deployment mechanisms • Learn about the tools available for automation of the deployment process • Acquire the knowledge of how to test your deployments #sqlinthecity

Editor's Notes

  • #7: Changes are made in development, then move to qa, then to production
  • #8: Need to think about it differently, start with production and define what has to go there, then figure out how to move up to there from each preceding environment.