SlideShare a Scribd company logo
TRACK: CI/CD CONTINUOUS EVERYTHING
NOVEMBER 12, 2020
Eduardo Piairo
Why and how to
include database
changes in the
deployment
pipeline
TRACK: CI/CD CONTINUOUS EVERYTHING
● Engineering Operations Director @ Deeper Insights
● Co-Founder and Leader @ DevOps Porto
About Me
@EdPiairo
https://pt.linkedin.com/in/eduardopiairo
eduardopiairo@gmail.com
https://www.eduardopiairo.com
TRACK: CI/CD CONTINUOUS EVERYTHING
● Deployment pipeline
● Database challenges
● Deployment pipeline stages
● Deployment pipeline scenarios
● Final thoughts
Agenda
TRACK: CI/CD CONTINUOUS EVERYTHING
A deployment pipeline should enable collaboration between the various
groups involved in delivering software and provide everyone visibility
about the flow of changes in the system, together with a thorough audit
trail.
by Martin Fowler
@ https://martinfowler.com/bliki/DeploymentPipeline.html
Definition
TRACK: CI/CD CONTINUOUS EVERYTHING
● Stage 1 – Change description (Source Control)
● Stage 2 – Change validation (Continuous Integration)
● Stage 3 – Change implementation (Continuous Delivery)
Stages
Source
Control
Continuous
Integration
Continuous
Delivery
TRACK: CI/CD CONTINUOUS EVERYTHING
Database & Deployment Pipeline
Source
Control
Continuous
Integration
Continuous
Delivery
Database
+
Application
TRACK: CI/CD CONTINUOUS EVERYTHING
What’s so special about
databases?
TRACK: CI/CD CONTINUOUS EVERYTHING
Database Challenges
• Database and application changes (most of the time) are
handled differently
• Different deployment pipelines - synchronization needed
• Database is not included (manual work)
TRACK: CI/CD CONTINUOUS EVERYTHING
Database Challenges
• Manual work …
• Lack of traceability of database changes (changes history)
• It’s the most expensive and risky work type
• Prevent CI and CD utilization in their full extent
• Promote the fear of changes
TRACK: CI/CD CONTINUOUS EVERYTHING
Databases become a bottleneck
in the delivery process
TRACK: CI/CD CONTINUOUS EVERYTHING
TRACK: CI/CD CONTINUOUS EVERYTHING
The Value Of Automation
• Enable control over database development
• Increase speed of response to change
• Greater reliability, repeatability and consistency
• Enables failing in a controlled and known way
• Remove/reduce human intervention in the release process
TRACK: CI/CD CONTINUOUS EVERYTHING
Fearless database changes
TRACK: CI/CD CONTINUOUS EVERYTHING
Source Control
• Every database change can be described with an SQL script
• Traceability through change history
• SQL as documentation
• Shared code-base and shared process
• Enforce standards to reduce conflicts
TRACK: CI/CD CONTINUOUS EVERYTHING
Migrations vs State
• State based solutions
• How the database should be
• Migrations based solutions
• How the database should change
Migration Migration
State
Delta
TRACK: CI/CD CONTINUOUS EVERYTHING
Scripting Guideline
• One script, one operation type, one object (small batches)
• Merge conflicts management
• Patterns identification
• File system scripts history search
TRACK: CI/CD CONTINUOUS EVERYTHING
Continuous Integration
• Integrate and validate changes
• Unit and integration tests
• Small batches, less risk
• Considerations
• What should be tested? And when?
• How can the application contribute to this stage?
TRACK: CI/CD CONTINUOUS EVERYTHING
Continuous Delivery
• Delivering change(s) in the target environment
• Considerations
• Downtime
• Time to recover
• Affected applications
TRACK: CI/CD CONTINUOUS EVERYTHING
Failed Deployment
• Scripts (roll-back, roll-front)
• Very fast
• (Please) Do not make mistakes
• Working backwards
TRACK: CI/CD CONTINUOUS EVERYTHING
Failed Deployment
• Backups (before deploy)
• Safer but slower
• Keep databases small
• Avoid shared databases
TRACK: CI/CD CONTINUOUS EVERYTHING
Scenario #1
Source Control Continuous Integration Continuous Delivery
APP
DB
• Independent deployment pipelines
• High need of synchronization between DBA and development team
TRACK: CI/CD CONTINUOUS EVERYTHING
Scenario #2
Source Control Continuous Integration Continuous Delivery
APP
DB
• Different code repositories
• Independent CI process
• The contact point will be the deployment moment
TRACK: CI/CD CONTINUOUS EVERYTHING
Scenario #3
Source Control Continuous Integration Continuous Delivery
APP
DB
• Different code repositories
• Connected/dependent CI process
• Short learning step towards scenario #4
TRACK: CI/CD CONTINUOUS EVERYTHING
Scenario #4
Source Control Continuous Integration Continuous Delivery
APP
DB
• Share the some code repository, CI process and CD process
• No need of synchronization
• Promotes learning within teams (database code reviews)
TRACK: CI/CD CONTINUOUS EVERYTHING
My Definition
Pipeline: Cultural and technical tool for managing changes in the
software development process (should contemplate databases, applications
and infrastructure).
TRACK: CI/CD CONTINUOUS EVERYTHING
DevOps Way
• Increase flow visibility
• Increase feedback
• Increase knowledge base and exploration
TRACK: CI/CD CONTINUOUS EVERYTHING
Q&A
@EdPiairo
https://pt.linkedin.com/in/eduardopiairo
eduardopiairo@gmail.com
http://www.eduardopiairo.com/
#2021-ci-cd

More Related Content

PDF
PPT
Presentation on Large Scale Data Management
PPTX
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
PPTX
Building a Just-in-Time Application Stack for Analysts
PPTX
Data Con LA 2019 - Orchestration of Blue-Green deployment model with AWS Docu...
PDF
Data Con LA 2019 - Integrating Kafka with a Real-Time Database by David Anderson
PDF
DATA LAKE AND THE RISE OF THE MICROSERVICES - ALEX BORDEI
PPTX
Data Con LA 2019 - Patterns for Persistence and Streaming in Cloud Architectu...
Presentation on Large Scale Data Management
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Building a Just-in-Time Application Stack for Analysts
Data Con LA 2019 - Orchestration of Blue-Green deployment model with AWS Docu...
Data Con LA 2019 - Integrating Kafka with a Real-Time Database by David Anderson
DATA LAKE AND THE RISE OF THE MICROSERVICES - ALEX BORDEI
Data Con LA 2019 - Patterns for Persistence and Streaming in Cloud Architectu...

What's hot (20)

PDF
3D: DBT using Databricks and Delta
PDF
Data Lake and the rise of the microservices
PPTX
VTU 6th Sem Elective CSE - Module 4 cloud computing
PDF
Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...
PPTX
Cassandra Lunch #88: Cadence
PPTX
Hdfs 2016-hadoop-summit-dublin-v1
PDF
Mod05lec23(map reduce tutorial)
PPTX
Building Reactive Fast Data & the Data Lake with Akka, Kafka, Spark
PDF
Which Change Data Capture Strategy is Right for You?
PPTX
Data Engineer's Lunch #55: Get Started in Data Engineering
PPTX
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
PDF
Mod05lec24(resource mgmt i)
PDF
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
PPTX
Cloud Design Pattern part1
PDF
Justin Sheppard & Ankur Gupta from Sears Holdings Corporation - Single point ...
PDF
Monitoring MySQL at scale
PDF
VTU 6th Sem Elective CSE - Module 5 cloud computing
PPTX
VTU 6th Sem Elective CSE - Module 3 cloud computing
PDF
Introduction SQL Analytics on Lakehouse Architecture
PPTX
Big Data Quickstart Series 3: Perform Data Integration
3D: DBT using Databricks and Delta
Data Lake and the rise of the microservices
VTU 6th Sem Elective CSE - Module 4 cloud computing
Glynn Bird – Cloudant – Building applications for success.- NoSQL matters Bar...
Cassandra Lunch #88: Cadence
Hdfs 2016-hadoop-summit-dublin-v1
Mod05lec23(map reduce tutorial)
Building Reactive Fast Data & the Data Lake with Akka, Kafka, Spark
Which Change Data Capture Strategy is Right for You?
Data Engineer's Lunch #55: Get Started in Data Engineering
VTU Open Elective 6th Sem CSE - Module 2 - Cloud Computing
Mod05lec24(resource mgmt i)
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
Cloud Design Pattern part1
Justin Sheppard & Ankur Gupta from Sears Holdings Corporation - Single point ...
Monitoring MySQL at scale
VTU 6th Sem Elective CSE - Module 5 cloud computing
VTU 6th Sem Elective CSE - Module 3 cloud computing
Introduction SQL Analytics on Lakehouse Architecture
Big Data Quickstart Series 3: Perform Data Integration
Ad

Similar to ADDO 2021: Why and how to include database changes in the deployment pipeline (20)

PDF
Deployment pipeline for databases
PDF
Deployment pipeline for databases
PDF
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
PDF
Deployment Pipeline for databases (Azure SQL Database, SQL Server)
PDF
Delivering Changes for Applications and Databases
PDF
ADDO_2022_CICID_Tom_Halpin.pdf
PDF
Operations for databases – The DevOps journey
PPTX
How to avoid microservice pitfalls
PPTX
CICD Pipeline - AWS Azure
PPTX
Test Driven Development & CI/CD
PPTX
Security for devs
PPTX
Continuous database deployment
PPTX
The Hard Problems of Continuous Deployment
PDF
Road to database automation - Database source control
PPTX
Database Deployment Pipeline - SQL In The City Workshop 2014
PDF
Delivering changes for applications and databases
PPTX
CI CD OPS WHATHAVEYOU
PDF
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
PDF
CI CD Pipeline Interview Questions PDF By ScholarHat
PDF
Terrascan - Cloud Native Security Tool
Deployment pipeline for databases
Deployment pipeline for databases
Eduardo Piairo - Deployment pipeline for databases (Azure SQL Database, SQL S...
Deployment Pipeline for databases (Azure SQL Database, SQL Server)
Delivering Changes for Applications and Databases
ADDO_2022_CICID_Tom_Halpin.pdf
Operations for databases – The DevOps journey
How to avoid microservice pitfalls
CICD Pipeline - AWS Azure
Test Driven Development & CI/CD
Security for devs
Continuous database deployment
The Hard Problems of Continuous Deployment
Road to database automation - Database source control
Database Deployment Pipeline - SQL In The City Workshop 2014
Delivering changes for applications and databases
CI CD OPS WHATHAVEYOU
Continuous Delivery: Fly the Friendly CI in Pivotal Cloud Foundry with Concourse
CI CD Pipeline Interview Questions PDF By ScholarHat
Terrascan - Cloud Native Security Tool
Ad

More from Eduardo Piairo (20)

PDF
Adding unit tests to the database deployment pipeline
PDF
Start by changing the way of work
PDF
Adding unit tests to the database deployment pipeline
PDF
Adding unit tests with tSQLt to the database deployment pipeline
PDF
Adding unit tests with tSQLt to the database deployment pipeline
PDF
Adding unit tests with tSQLt to the database deployment pipeline
PDF
Operations for databases: the agile/devops journey
PDF
Setting a WordPress website using Azure Web Apps And Azure Database for MySQL
PDF
SQL Server 2017 CLR
PDF
SQL Server 2017 CLR
PDF
Deployment pipeline for Azure SQL Databases
PDF
Operations for databases – the agile/devops journey
PDF
Delivering changes for applications and databases @ Azure
PDF
Delivering changes for databases and applications
PDF
Workshop: Delivering chnages for applications and databases
PDF
Database Source Control: Migrations vs State
PDF
Road to database automation: database source control
PPTX
Database Source Control: Migrations vs State
PDF
DbOps, DevOps and Ops
PDF
Road to database automation: database source control
Adding unit tests to the database deployment pipeline
Start by changing the way of work
Adding unit tests to the database deployment pipeline
Adding unit tests with tSQLt to the database deployment pipeline
Adding unit tests with tSQLt to the database deployment pipeline
Adding unit tests with tSQLt to the database deployment pipeline
Operations for databases: the agile/devops journey
Setting a WordPress website using Azure Web Apps And Azure Database for MySQL
SQL Server 2017 CLR
SQL Server 2017 CLR
Deployment pipeline for Azure SQL Databases
Operations for databases – the agile/devops journey
Delivering changes for applications and databases @ Azure
Delivering changes for databases and applications
Workshop: Delivering chnages for applications and databases
Database Source Control: Migrations vs State
Road to database automation: database source control
Database Source Control: Migrations vs State
DbOps, DevOps and Ops
Road to database automation: database source control

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
Teaching material agriculture food technology
PDF
cuic standard and advanced reporting.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Spectroscopy.pptx food analysis technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
Big Data Technologies - Introduction.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
A Presentation on Artificial Intelligence
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation theory and applications.pdf
Network Security Unit 5.pdf for BCA BBA.
Spectral efficient network and resource selection model in 5G networks
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Teaching material agriculture food technology
cuic standard and advanced reporting.pdf
sap open course for s4hana steps from ECC to s4
Spectroscopy.pptx food analysis technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Programs and apps: productivity, graphics, security and other tools

ADDO 2021: Why and how to include database changes in the deployment pipeline

  • 1. TRACK: CI/CD CONTINUOUS EVERYTHING NOVEMBER 12, 2020 Eduardo Piairo Why and how to include database changes in the deployment pipeline
  • 2. TRACK: CI/CD CONTINUOUS EVERYTHING ● Engineering Operations Director @ Deeper Insights ● Co-Founder and Leader @ DevOps Porto About Me @EdPiairo https://pt.linkedin.com/in/eduardopiairo eduardopiairo@gmail.com https://www.eduardopiairo.com
  • 3. TRACK: CI/CD CONTINUOUS EVERYTHING ● Deployment pipeline ● Database challenges ● Deployment pipeline stages ● Deployment pipeline scenarios ● Final thoughts Agenda
  • 4. TRACK: CI/CD CONTINUOUS EVERYTHING A deployment pipeline should enable collaboration between the various groups involved in delivering software and provide everyone visibility about the flow of changes in the system, together with a thorough audit trail. by Martin Fowler @ https://martinfowler.com/bliki/DeploymentPipeline.html Definition
  • 5. TRACK: CI/CD CONTINUOUS EVERYTHING ● Stage 1 – Change description (Source Control) ● Stage 2 – Change validation (Continuous Integration) ● Stage 3 – Change implementation (Continuous Delivery) Stages Source Control Continuous Integration Continuous Delivery
  • 6. TRACK: CI/CD CONTINUOUS EVERYTHING Database & Deployment Pipeline Source Control Continuous Integration Continuous Delivery Database + Application
  • 7. TRACK: CI/CD CONTINUOUS EVERYTHING What’s so special about databases?
  • 8. TRACK: CI/CD CONTINUOUS EVERYTHING Database Challenges • Database and application changes (most of the time) are handled differently • Different deployment pipelines - synchronization needed • Database is not included (manual work)
  • 9. TRACK: CI/CD CONTINUOUS EVERYTHING Database Challenges • Manual work … • Lack of traceability of database changes (changes history) • It’s the most expensive and risky work type • Prevent CI and CD utilization in their full extent • Promote the fear of changes
  • 10. TRACK: CI/CD CONTINUOUS EVERYTHING Databases become a bottleneck in the delivery process
  • 12. TRACK: CI/CD CONTINUOUS EVERYTHING The Value Of Automation • Enable control over database development • Increase speed of response to change • Greater reliability, repeatability and consistency • Enables failing in a controlled and known way • Remove/reduce human intervention in the release process
  • 13. TRACK: CI/CD CONTINUOUS EVERYTHING Fearless database changes
  • 14. TRACK: CI/CD CONTINUOUS EVERYTHING Source Control • Every database change can be described with an SQL script • Traceability through change history • SQL as documentation • Shared code-base and shared process • Enforce standards to reduce conflicts
  • 15. TRACK: CI/CD CONTINUOUS EVERYTHING Migrations vs State • State based solutions • How the database should be • Migrations based solutions • How the database should change Migration Migration State Delta
  • 16. TRACK: CI/CD CONTINUOUS EVERYTHING Scripting Guideline • One script, one operation type, one object (small batches) • Merge conflicts management • Patterns identification • File system scripts history search
  • 17. TRACK: CI/CD CONTINUOUS EVERYTHING Continuous Integration • Integrate and validate changes • Unit and integration tests • Small batches, less risk • Considerations • What should be tested? And when? • How can the application contribute to this stage?
  • 18. TRACK: CI/CD CONTINUOUS EVERYTHING Continuous Delivery • Delivering change(s) in the target environment • Considerations • Downtime • Time to recover • Affected applications
  • 19. TRACK: CI/CD CONTINUOUS EVERYTHING Failed Deployment • Scripts (roll-back, roll-front) • Very fast • (Please) Do not make mistakes • Working backwards
  • 20. TRACK: CI/CD CONTINUOUS EVERYTHING Failed Deployment • Backups (before deploy) • Safer but slower • Keep databases small • Avoid shared databases
  • 21. TRACK: CI/CD CONTINUOUS EVERYTHING Scenario #1 Source Control Continuous Integration Continuous Delivery APP DB • Independent deployment pipelines • High need of synchronization between DBA and development team
  • 22. TRACK: CI/CD CONTINUOUS EVERYTHING Scenario #2 Source Control Continuous Integration Continuous Delivery APP DB • Different code repositories • Independent CI process • The contact point will be the deployment moment
  • 23. TRACK: CI/CD CONTINUOUS EVERYTHING Scenario #3 Source Control Continuous Integration Continuous Delivery APP DB • Different code repositories • Connected/dependent CI process • Short learning step towards scenario #4
  • 24. TRACK: CI/CD CONTINUOUS EVERYTHING Scenario #4 Source Control Continuous Integration Continuous Delivery APP DB • Share the some code repository, CI process and CD process • No need of synchronization • Promotes learning within teams (database code reviews)
  • 25. TRACK: CI/CD CONTINUOUS EVERYTHING My Definition Pipeline: Cultural and technical tool for managing changes in the software development process (should contemplate databases, applications and infrastructure).
  • 26. TRACK: CI/CD CONTINUOUS EVERYTHING DevOps Way • Increase flow visibility • Increase feedback • Increase knowledge base and exploration
  • 27. TRACK: CI/CD CONTINUOUS EVERYTHING Q&A @EdPiairo https://pt.linkedin.com/in/eduardopiairo eduardopiairo@gmail.com http://www.eduardopiairo.com/ #2021-ci-cd