SlideShare a Scribd company logo
DELIVERING CHANGES FOR DATABASES AND
APPLICATIONS @AZURE Eduardo Piairo
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Eduardo Piairo, DevOps Engineer
About me
@EdPiairo
https://pt.linkedin.com/in/jesuspiairo
eduardopiairo@outlook.com
http://www.eduardopiairo.com/
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
1. The value stream
2. The problem to fix
Chapter 1: Introduction
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
1. Create web app
Chapter 2: Application
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
1. Physical machines
2. Virtual machines
3. Platform as a Service (PaaS)
4. Serverless
5. Infrastructure as Code (IaC)
Chapter 3: Infrastructure
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
1. What’s so special about databases
2. Database challenges
3. Why database automation
4. The 1st step: Source Control
5. Migrations vs State
6. Flyway
7. Version Control System
Chapter 4: Database
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
1. Deployment pipeline
2. The DevOps way
Chapter 5: DevOps as engineering practice
INTRODUCTION Chapter 1
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
The value stream
Source
Control
Continuous
Integration
Continuous
Delivery
Database
+
Application
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Database and application most of the times are not both included in the value stream
Have different deployment pipelines
Database is not included in the deployment pipeline
As result, database is out of pace with application development
The problem to fix
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Databases becoming a bottleneck
in an agile delivery process
The problem to fix
APPLICATION Chapter 2
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Let’s create a web app…
Application
INFRASTRUCTURE Chapter 3
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
How can you have the required consistency without including infrastructure?
If you practice (development) and play (production) in different fields, why do you
expect the same behavior/performance?
Infrastructure
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
High hardware cost
High human cost
Very low flexibility
Physical machines
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
In the cloud
Upfront cost
First step to IaC
Requires configuration management
Virtual machines
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Very flexible approach
Costs grow with the application
Fast and simple development
Bring infrastructure/operations closer to the development
Platform-as-a-Service (PaaS)
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Azure Functions
AWS Lambda
Pay what you use
Serverless (FaaS)
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Thank you Virtualization!!
Managing and provisioning infrastructure
Is not simply writing scripts
Allows to apply proven software development practices
Version control, testing, small deployments
Infrastructure as Code (Iac)
DATABASE Chapter 4
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Databases are out of pace with application development
Lack of traceability of database changes (changes history)
Manual databases processes prevent the CI and CD utilization
Lack of testability
Database setup time for new environments
Bugs in production
Database challenges
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Databases becoming a bottleneck
in an agile delivery process
Database challenges
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Database challenge
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Enable control over database development
Increase speed of response to change
Keep a versioned “history” of database states and changes
Reliability of the release process
Increase release frequency though repeatability of processes
Reduce time spent fixing bugs - automated tests
Remove/reduce human intervention in the release process
Why database automation
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Why database automation
Fearless databases changes
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
First step in your database deployment pipeline
Traceability through change history
SQL as documentation
Shared code-base and shared process
Enforceable standards to reduce conflicts
The 1st step: Source Control
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Fundamental resource
The 1st step: Source Control
SQL Script
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
State based solutions
Script represents the current database state
Your source of truth is how the database should be
Migrations based solutions
Script represents a migration
Migration represents how to transition to the next database version
Your source of truth is how the database should change
Migrations vs State
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Flyway – “Database Migrations made Easy”
http://flywaydb.org/
Open source database migration tool
Flyway command-line enabled
Simplicity: easy to setup, no need to install
Zero dependencies (java + jdbc)
Scripts are written in SQL
Flyway
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Flyway commands:
migrate, clean, info, validate, baseline, repair
Metadata table:
Used to track the state of the database
If the database is empty, flyway won’t find it and will create it
Flyway scans the migrations directory and check migrations against the metadata table
Migrations are sorted based on their version number and applied in order
Flyway: How it works
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Demo
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Rule 1: Script version (timestamp)
Rule 2: Operation type
Rule 3: Object type
Rule 4: Object name
Version Control System
Example: V20170311.1200__Create_TB_MyTable.sql
DEVOPS AS ENGINEERING PRACTICE Chapter 5
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Deployment pipeline
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Devops: contract for collaboration and communication (change management “framework”)
Change description (Source Control)
Change validation (Continuous Integration)
Change implementation (Continuous Delivery)
Applications, databases, infrastructure
The DevOps way
READING MATERIAL Appendix
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Reading material
DELIVERING CHANGES FOR DATABASES AND APPLICATIONS
Q&A
@EdPiairo
https://pt.linkedin.com/in/jesuspiairo
eduardopiairo@outlook.com
http://www.eduardopiairo.com/

More Related Content

What's hot (20)

PDF
COUG_AAbate_Oracle_Database_12c_New_Features
Alfredo Abate
 
PDF
Getting Started with Oracle APEX
DataNext Solutions
 
PPTX
Integration on Force.com Platform
Amit Jain
 
PDF
Delivering Changes for Applications and Databases
Miguel Alho
 
DOC
gn1595_10Mar2016
Ganesh Sonsale
 
PPSX
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
European Collaboration Summit
 
PPT
Power point 707 tips on successfully upgrading apps 11i for the non apps dba
chidba
 
PDF
Road to database automation: database source control
Eduardo Piairo
 
PDF
Census Bureau PBOCS
Tolu A Williams
 
DOCX
Infor Process Automation Developer
Pierce Morton
 
PPTX
Ladies Be Architects - Apex Basics
gemziebeth
 
DOC
abhi_apps_middleware_CV
Abhishek singh
 
PDF
Upcoming JDeveloper ADF Business Components REST support
Steven Davelaar
 
PPT
Oracle Applications R12 Architecture
Viveka Solutions
 
PPTX
Cloud Side: REST APIs - Best practices
Nicolas FOATA
 
PPTX
Upgrade webinar
ShanesCows
 
PPTX
How Applications Manager helps with application performance monitoring
ManageEngine, Zoho Corporation
 
PDF
APEX Boston Meetup - October 1st, 2019
msewtz
 
PPTX
SharePoint 2010 Upgrade Drill Down
Joel Oleson
 
DOC
Ashish Chaurasia resume
Ashish Chaurasia
 
COUG_AAbate_Oracle_Database_12c_New_Features
Alfredo Abate
 
Getting Started with Oracle APEX
DataNext Solutions
 
Integration on Force.com Platform
Amit Jain
 
Delivering Changes for Applications and Databases
Miguel Alho
 
gn1595_10Mar2016
Ganesh Sonsale
 
ECS19 - Damir Dobric - Designing and Operating modern applications with Micro...
European Collaboration Summit
 
Power point 707 tips on successfully upgrading apps 11i for the non apps dba
chidba
 
Road to database automation: database source control
Eduardo Piairo
 
Census Bureau PBOCS
Tolu A Williams
 
Infor Process Automation Developer
Pierce Morton
 
Ladies Be Architects - Apex Basics
gemziebeth
 
abhi_apps_middleware_CV
Abhishek singh
 
Upcoming JDeveloper ADF Business Components REST support
Steven Davelaar
 
Oracle Applications R12 Architecture
Viveka Solutions
 
Cloud Side: REST APIs - Best practices
Nicolas FOATA
 
Upgrade webinar
ShanesCows
 
How Applications Manager helps with application performance monitoring
ManageEngine, Zoho Corporation
 
APEX Boston Meetup - October 1st, 2019
msewtz
 
SharePoint 2010 Upgrade Drill Down
Joel Oleson
 
Ashish Chaurasia resume
Ashish Chaurasia
 

Similar to Delivering changes for applications and databases @ Azure (20)

PDF
Workshop: Delivering chnages for applications and databases
Eduardo Piairo
 
PPTX
manage databases like codebases
DBmaestro - Database DevOps
 
PDF
DataOps, DevOps and the Developer: Treating Database Code Just Like App Code
DevOps.com
 
PDF
Geek Sync | Is Your Database Environment Ready for DevOps?
IDERA Software
 
PPTX
Delphix and DBmaestro
Kyle Hailey
 
PPTX
How Financial Institutions Must Enforce DevOps Organizational Policy
Tamir Belzer
 
PPTX
Continuous Database Delivery - 7/12/2018
David P. Moore
 
PDF
Relational Database CI/CD
Jasmin Fluri
 
PDF
Operations for databases – the agile/devops journey
Eduardo Piairo
 
PPTX
The Secret to Pain Free Database Deployments SQLBits 2014
Red Gate Software
 
PDF
The domino maze
Julian Woodward
 
PDF
Building an Automated Database Deployment Pipeline
Grant Fritchey
 
PPTX
Evolutionary database design
Salehein Syed
 
PDF
Lecture1 is322 data&infomanag(introduction)(old curr)
Taibah University, College of Computer Science & Engineering
 
PDF
Lecture1-IS322(Data&InfoMang-introduction)
Taibah University, College of Computer Science & Engineering
 
PDF
Lecture1 is322 data&infomanag(introduction)(old curr)
Taibah University, College of Computer Science & Engineering
 
PPT
Re-Engineering Engineering
Iben Rodriguez
 
PPT
ch-1-d-b-environment-1197030880396550-3.ppt
mrudulareddy226
 
PPTX
Database Deployment Pipeline - SQL In The City Workshop 2014
Red Gate Software
 
PPT
DBMS
akshaythusoo
 
Workshop: Delivering chnages for applications and databases
Eduardo Piairo
 
manage databases like codebases
DBmaestro - Database DevOps
 
DataOps, DevOps and the Developer: Treating Database Code Just Like App Code
DevOps.com
 
Geek Sync | Is Your Database Environment Ready for DevOps?
IDERA Software
 
Delphix and DBmaestro
Kyle Hailey
 
How Financial Institutions Must Enforce DevOps Organizational Policy
Tamir Belzer
 
Continuous Database Delivery - 7/12/2018
David P. Moore
 
Relational Database CI/CD
Jasmin Fluri
 
Operations for databases – the agile/devops journey
Eduardo Piairo
 
The Secret to Pain Free Database Deployments SQLBits 2014
Red Gate Software
 
The domino maze
Julian Woodward
 
Building an Automated Database Deployment Pipeline
Grant Fritchey
 
Evolutionary database design
Salehein Syed
 
Lecture1 is322 data&infomanag(introduction)(old curr)
Taibah University, College of Computer Science & Engineering
 
Lecture1-IS322(Data&InfoMang-introduction)
Taibah University, College of Computer Science & Engineering
 
Lecture1 is322 data&infomanag(introduction)(old curr)
Taibah University, College of Computer Science & Engineering
 
Re-Engineering Engineering
Iben Rodriguez
 
ch-1-d-b-environment-1197030880396550-3.ppt
mrudulareddy226
 
Database Deployment Pipeline - SQL In The City Workshop 2014
Red Gate Software
 
Ad

More from Eduardo Piairo (17)

PDF
ADDO 2021: Why and how to include database changes in the deployment pipeline
Eduardo Piairo
 
PDF
Adding unit tests to the database deployment pipeline
Eduardo Piairo
 
PDF
Start by changing the way of work
Eduardo Piairo
 
PDF
Adding unit tests to the database deployment pipeline
Eduardo Piairo
 
PDF
Adding unit tests with tSQLt to the database deployment pipeline
Eduardo Piairo
 
PDF
Adding unit tests with tSQLt to the database deployment pipeline
Eduardo Piairo
 
PDF
Operations for databases – The DevOps journey
Eduardo Piairo
 
PDF
Deployment pipeline for databases
Eduardo Piairo
 
PDF
Deployment pipeline for databases
Eduardo Piairo
 
PDF
Adding unit tests with tSQLt to the database deployment pipeline
Eduardo Piairo
 
PDF
Operations for databases: the agile/devops journey
Eduardo Piairo
 
PDF
Setting a WordPress website using Azure Web Apps And Azure Database for MySQL
Eduardo Piairo
 
PDF
SQL Server 2017 CLR
Eduardo Piairo
 
PDF
SQL Server 2017 CLR
Eduardo Piairo
 
PDF
Deployment pipeline for Azure SQL Databases
Eduardo Piairo
 
PDF
Database Source Control: Migrations vs State
Eduardo Piairo
 
PDF
Deployment Pipeline for databases (Azure SQL Database, SQL Server)
Eduardo Piairo
 
ADDO 2021: Why and how to include database changes in the deployment pipeline
Eduardo Piairo
 
Adding unit tests to the database deployment pipeline
Eduardo Piairo
 
Start by changing the way of work
Eduardo Piairo
 
Adding unit tests to the database deployment pipeline
Eduardo Piairo
 
Adding unit tests with tSQLt to the database deployment pipeline
Eduardo Piairo
 
Adding unit tests with tSQLt to the database deployment pipeline
Eduardo Piairo
 
Operations for databases – The DevOps journey
Eduardo Piairo
 
Deployment pipeline for databases
Eduardo Piairo
 
Deployment pipeline for databases
Eduardo Piairo
 
Adding unit tests with tSQLt to the database deployment pipeline
Eduardo Piairo
 
Operations for databases: the agile/devops journey
Eduardo Piairo
 
Setting a WordPress website using Azure Web Apps And Azure Database for MySQL
Eduardo Piairo
 
SQL Server 2017 CLR
Eduardo Piairo
 
SQL Server 2017 CLR
Eduardo Piairo
 
Deployment pipeline for Azure SQL Databases
Eduardo Piairo
 
Database Source Control: Migrations vs State
Eduardo Piairo
 
Deployment Pipeline for databases (Azure SQL Database, SQL Server)
Eduardo Piairo
 
Ad

Recently uploaded (20)

PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 

Delivering changes for applications and databases @ Azure

  • 1. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS @AZURE Eduardo Piairo
  • 2. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Eduardo Piairo, DevOps Engineer About me @EdPiairo https://pt.linkedin.com/in/jesuspiairo [email protected] http://www.eduardopiairo.com/
  • 3. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS 1. The value stream 2. The problem to fix Chapter 1: Introduction
  • 4. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS 1. Create web app Chapter 2: Application
  • 5. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS 1. Physical machines 2. Virtual machines 3. Platform as a Service (PaaS) 4. Serverless 5. Infrastructure as Code (IaC) Chapter 3: Infrastructure
  • 6. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS 1. What’s so special about databases 2. Database challenges 3. Why database automation 4. The 1st step: Source Control 5. Migrations vs State 6. Flyway 7. Version Control System Chapter 4: Database
  • 7. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS 1. Deployment pipeline 2. The DevOps way Chapter 5: DevOps as engineering practice
  • 9. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS The value stream Source Control Continuous Integration Continuous Delivery Database + Application
  • 10. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Database and application most of the times are not both included in the value stream Have different deployment pipelines Database is not included in the deployment pipeline As result, database is out of pace with application development The problem to fix
  • 11. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Databases becoming a bottleneck in an agile delivery process The problem to fix
  • 13. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Let’s create a web app… Application
  • 15. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS How can you have the required consistency without including infrastructure? If you practice (development) and play (production) in different fields, why do you expect the same behavior/performance? Infrastructure
  • 16. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS High hardware cost High human cost Very low flexibility Physical machines
  • 17. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS In the cloud Upfront cost First step to IaC Requires configuration management Virtual machines
  • 18. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Very flexible approach Costs grow with the application Fast and simple development Bring infrastructure/operations closer to the development Platform-as-a-Service (PaaS)
  • 19. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Azure Functions AWS Lambda Pay what you use Serverless (FaaS)
  • 20. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Thank you Virtualization!! Managing and provisioning infrastructure Is not simply writing scripts Allows to apply proven software development practices Version control, testing, small deployments Infrastructure as Code (Iac)
  • 22. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Databases are out of pace with application development Lack of traceability of database changes (changes history) Manual databases processes prevent the CI and CD utilization Lack of testability Database setup time for new environments Bugs in production Database challenges
  • 23. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Databases becoming a bottleneck in an agile delivery process Database challenges
  • 24. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Database challenge
  • 25. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Enable control over database development Increase speed of response to change Keep a versioned “history” of database states and changes Reliability of the release process Increase release frequency though repeatability of processes Reduce time spent fixing bugs - automated tests Remove/reduce human intervention in the release process Why database automation
  • 26. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Why database automation Fearless databases changes
  • 27. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS First step in your database deployment pipeline Traceability through change history SQL as documentation Shared code-base and shared process Enforceable standards to reduce conflicts The 1st step: Source Control
  • 28. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Fundamental resource The 1st step: Source Control SQL Script
  • 29. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS State based solutions Script represents the current database state Your source of truth is how the database should be Migrations based solutions Script represents a migration Migration represents how to transition to the next database version Your source of truth is how the database should change Migrations vs State
  • 30. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Flyway – “Database Migrations made Easy” http://flywaydb.org/ Open source database migration tool Flyway command-line enabled Simplicity: easy to setup, no need to install Zero dependencies (java + jdbc) Scripts are written in SQL Flyway
  • 31. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Flyway commands: migrate, clean, info, validate, baseline, repair Metadata table: Used to track the state of the database If the database is empty, flyway won’t find it and will create it Flyway scans the migrations directory and check migrations against the metadata table Migrations are sorted based on their version number and applied in order Flyway: How it works
  • 32. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Demo
  • 33. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Rule 1: Script version (timestamp) Rule 2: Operation type Rule 3: Object type Rule 4: Object name Version Control System Example: V20170311.1200__Create_TB_MyTable.sql
  • 34. DEVOPS AS ENGINEERING PRACTICE Chapter 5
  • 35. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Deployment pipeline
  • 36. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Devops: contract for collaboration and communication (change management “framework”) Change description (Source Control) Change validation (Continuous Integration) Change implementation (Continuous Delivery) Applications, databases, infrastructure The DevOps way
  • 38. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Reading material
  • 39. DELIVERING CHANGES FOR DATABASES AND APPLICATIONS Q&A @EdPiairo https://pt.linkedin.com/in/jesuspiairo [email protected] http://www.eduardopiairo.com/