SlideShare a Scribd company logo
1 of 20
Download to read offline
ABCDs of Database Development
(Always Be Continuously Delivering)
Elizabeth Ayer, Redgate
Continuous Lifecycle London
May the 4th
@ElizAyer #ConLifecycleLon
1.What it is
2.Why you want it
3.Why you can’t have it
@ElizAyer #ConLifecycleLon
Continuous Delivery in 3 minutes
Continuous Delivery is a set of software
development practices which ensure that
software remains releasable at all times. It is
based on continuous integration, and
automated build, test and deployment.
@ElizAyer #ConLifecycleLon
Don’t stockpile pain.
@ElizAyer #ConLifecycleLon
www.freerepublic.com/focus/news/2658403/posts
@ElizAyer #ConLifecycleLon
Version
Control
Build
Release
Management
Validation Production
Dev, Test, Review
@ElizAyer #ConLifecycleLon
Source: 2015 State of DevOps Report, Puppet Labs
https://puppet.com/resources/white-paper/2015-state-of-devops-report
@ElizAyer #ConLifecycleLon
Why the business wants DevOps
@ElizAyer #ConLifecycleLon
Why you want CD
Databases as a bottleneck
3 reasons why databases have traditionally slowed down
deployments:
Technology lag
 SQL
 CI systems
DBA paranoia
 Frankly…
1 2 3
@ElizAyer #ConLifecycleLon
Data persistence
 Data outlives
applications
 Data can’t be
replaced
Version control becomes the source of truth
~~~~
Development uses production-like environments
~~~~
Changes are reviewed at design time
~~~~
Nobody changes the database by hand
Database CD: the rules
@ElizAyer #ConLifecycleLon
Application vs Database CD
Application Database
What you check in: Code Migrations
(or database state)
What ‘build’ means: Compile, link, etc. Validate by running
migrations
What you test in CI: Unit test Upgrade data checks
(and unit test db logic)
When you deploy: Replace application Run migrations
More like infrastructure code than application code….
@ElizAyer #ConLifecycleLon
Demo!
@ElizAyer #ConLifecycleLon
Scenario
@ElizAyer #ConLifecycleLon
Continuous
Integration
TicketDeskDev1 TicketDeskMyTest TicketDeskCI
Version
Control
1. Design change:
table split
2. Validate change
locally: table split
3. Validate change
on CI database
Scenario
@ElizAyer #ConLifecycleLon
Jenkins
TicketDeskDev1 TicketDeskMyTest TicketDeskCI
Git
1. Design change:
table split
2. Validate change
locally: table split
3. Validate change
on CI database
Flyway
Alternative approaches
1. Application controls database
2. Desired state
@ElizAyer #ConLifecycleLon
FAQs
Hotfixes?
Spinning up environments from scratch?
Zero-downtime?
…Wait, isn’t this scary?
@ElizAyer #ConLifecycleLon
@ElizAyer #ConLifecycleLon
or
?
Thank you!
@ElizAyer #ConLifecycleLon
Original Abstract
• Databases often sit outside Continuous Delivery for a variety of reasons,
good and bad. But if you want fast and reliable deployments, the
database cannot remain separate. We’ll talk through the challenges and
look at tools to automate database delivery, highlighting open source
options. I’ll live demo a database change flowing to ‘production,’ giving
a clear picture of a fully automated process. The session is for
developers, ops people, and managers, who will come out
understanding how to customise practices and toolsets, building a
pipeline suited to their environment. The result will accelerate database
delivery, while protecting the organisation’s most valuable asset: its
data.
Image Credits
Slide 5: Kudzu picture via www.freerepublic.com/focus/news/2658403/posts
Slides 6, 13, 14: Icons made by Dave Gandy and Freepik from
www.flaticon.com, CC BY 3.0 license
Slide 7: Data table from 2015 State of DevOps Report, Puppet Labs
https://puppet.com/resources/white-paper/2015-state-of-devops-report
Slide 8: Screenshot of https://www.gov.uk/service-manual/agile/continuous-
delivery.html
Slide 17: Plutonium handling picture from http://www.dsnews.ua/future/pyat-
innovatsiy-proshloy-nedeli-kotorye-vy-mogli-propustit-27122015201700
Simpsons picture from http://showbizgeek.com/the-simpsons-final-episode-
the-perfect-ending/

More Related Content

Similar to ABCDs of Database Development

DevOps 2016 summit
DevOps 2016 summitDevOps 2016 summit
DevOps 2016 summitChihyang Li
 
The Science of database CICD - UKOUG Breakthrough
The Science of database CICD - UKOUG BreakthroughThe Science of database CICD - UKOUG Breakthrough
The Science of database CICD - UKOUG BreakthroughJasmin Fluri
 
How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)Jimmy Puckett
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Balanced Team
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesDeborah Schalm
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesDeborah Schalm
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesDevOps.com
 
Database automated build and test - SQL In The City Cambridge
Database automated build and test - SQL In The City CambridgeDatabase automated build and test - SQL In The City Cambridge
Database automated build and test - SQL In The City CambridgeRed Gate Software
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點William Yeh
 
ThoughtWorks Continuous Delivery
ThoughtWorks Continuous DeliveryThoughtWorks Continuous Delivery
ThoughtWorks Continuous DeliveryKyle Hodgson
 
Cross-Platform Agile DevOps with Visual Studio Team Services
Cross-Platform Agile DevOps with Visual Studio Team ServicesCross-Platform Agile DevOps with Visual Studio Team Services
Cross-Platform Agile DevOps with Visual Studio Team ServicesJeremy Likness
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityIvan Porta
 
Relational Database CI/CD
Relational Database CI/CDRelational Database CI/CD
Relational Database CI/CDJasmin Fluri
 
DevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGuys FutureDecoded 2016 - is DevOps the AnswerDevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGuys FutureDecoded 2016 - is DevOps the AnswerDevOpsGroup
 
Poster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ MicrosoftPoster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ MicrosoftVSTS Community MSFT
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityEberhard Wolff
 
DevOps: Cultural and Tooling Tips Around the World
DevOps: Cultural and Tooling Tips Around the WorldDevOps: Cultural and Tooling Tips Around the World
DevOps: Cultural and Tooling Tips Around the WorldDynatrace
 
DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp
DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE CorpDOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp
DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE CorpGene Kim
 
14 3400-mitre dev ops enterprise summit briefing 2014-10_22
14 3400-mitre dev ops enterprise summit briefing 2014-10_2214 3400-mitre dev ops enterprise summit briefing 2014-10_22
14 3400-mitre dev ops enterprise summit briefing 2014-10_22Bill Donaldson
 

Similar to ABCDs of Database Development (20)

DevOps 2016 summit
DevOps 2016 summitDevOps 2016 summit
DevOps 2016 summit
 
The Science of database CICD - UKOUG Breakthrough
The Science of database CICD - UKOUG BreakthroughThe Science of database CICD - UKOUG Breakthrough
The Science of database CICD - UKOUG Breakthrough
 
How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)How to win at DevOps (and understand it along the way)
How to win at DevOps (and understand it along the way)
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Database automated build and test - SQL In The City Cambridge
Database automated build and test - SQL In The City CambridgeDatabase automated build and test - SQL In The City Cambridge
Database automated build and test - SQL In The City Cambridge
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點
 
ThoughtWorks Continuous Delivery
ThoughtWorks Continuous DeliveryThoughtWorks Continuous Delivery
ThoughtWorks Continuous Delivery
 
Cross-Platform Agile DevOps with Visual Studio Team Services
Cross-Platform Agile DevOps with Visual Studio Team ServicesCross-Platform Agile DevOps with Visual Studio Team Services
Cross-Platform Agile DevOps with Visual Studio Team Services
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
Relational Database CI/CD
Relational Database CI/CDRelational Database CI/CD
Relational Database CI/CD
 
DevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGuys FutureDecoded 2016 - is DevOps the AnswerDevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGuys FutureDecoded 2016 - is DevOps the Answer
 
Poster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ MicrosoftPoster - DevOps Habits @ Microsoft
Poster - DevOps Habits @ Microsoft
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
 
DevOps: Cultural and Tooling Tips Around the World
DevOps: Cultural and Tooling Tips Around the WorldDevOps: Cultural and Tooling Tips Around the World
DevOps: Cultural and Tooling Tips Around the World
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp
DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE CorpDOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp
DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp
 
14 3400-mitre dev ops enterprise summit briefing 2014-10_22
14 3400-mitre dev ops enterprise summit briefing 2014-10_2214 3400-mitre dev ops enterprise summit briefing 2014-10_22
14 3400-mitre dev ops enterprise summit briefing 2014-10_22
 

More from Elizabeth Ayer

Too many cooks or not enough kitchens?
Too many cooks or not enough kitchens?Too many cooks or not enough kitchens?
Too many cooks or not enough kitchens?Elizabeth Ayer
 
Remote work a year on (FCW)
Remote work a year on (FCW)Remote work a year on (FCW)
Remote work a year on (FCW)Elizabeth Ayer
 
Agile Traps: Common practices that wreck teams (Lesbians Who Tech 2020)
Agile Traps: Common practices that wreck teams (Lesbians Who Tech 2020)Agile Traps: Common practices that wreck teams (Lesbians Who Tech 2020)
Agile Traps: Common practices that wreck teams (Lesbians Who Tech 2020)Elizabeth Ayer
 
FlowCon 2019 - Beyond the Black Hole: Product Management for Continuous Delivery
FlowCon 2019 - Beyond the Black Hole: Product Management for Continuous DeliveryFlowCon 2019 - Beyond the Black Hole: Product Management for Continuous Delivery
FlowCon 2019 - Beyond the Black Hole: Product Management for Continuous DeliveryElizabeth Ayer
 
Continuous Product Management (Industry 2019)
Continuous Product Management (Industry 2019)Continuous Product Management (Industry 2019)
Continuous Product Management (Industry 2019)Elizabeth Ayer
 
DevSecOps at Agile 2019
DevSecOps at   Agile 2019 DevSecOps at   Agile 2019
DevSecOps at Agile 2019 Elizabeth Ayer
 
The A-word Agile and Beyond 2019
The A-word   Agile and Beyond 2019The A-word   Agile and Beyond 2019
The A-word Agile and Beyond 2019Elizabeth Ayer
 
Uncle Sam's Recipe (Mile High Agile)
Uncle Sam's Recipe (Mile High Agile)Uncle Sam's Recipe (Mile High Agile)
Uncle Sam's Recipe (Mile High Agile)Elizabeth Ayer
 
Aitc2018 ux impact - elizabeth ayer
Aitc2018   ux impact - elizabeth ayer Aitc2018   ux impact - elizabeth ayer
Aitc2018 ux impact - elizabeth ayer Elizabeth Ayer
 
Zen and the Art of Continuous Delivery - Elizabeth Ayer
Zen and the Art of Continuous Delivery - Elizabeth AyerZen and the Art of Continuous Delivery - Elizabeth Ayer
Zen and the Art of Continuous Delivery - Elizabeth AyerElizabeth Ayer
 

More from Elizabeth Ayer (12)

Too many cooks or not enough kitchens?
Too many cooks or not enough kitchens?Too many cooks or not enough kitchens?
Too many cooks or not enough kitchens?
 
Ethics of Influence
Ethics of InfluenceEthics of Influence
Ethics of Influence
 
Remote work a year on (FCW)
Remote work a year on (FCW)Remote work a year on (FCW)
Remote work a year on (FCW)
 
Managing Remote Teams
Managing Remote TeamsManaging Remote Teams
Managing Remote Teams
 
Agile Traps: Common practices that wreck teams (Lesbians Who Tech 2020)
Agile Traps: Common practices that wreck teams (Lesbians Who Tech 2020)Agile Traps: Common practices that wreck teams (Lesbians Who Tech 2020)
Agile Traps: Common practices that wreck teams (Lesbians Who Tech 2020)
 
FlowCon 2019 - Beyond the Black Hole: Product Management for Continuous Delivery
FlowCon 2019 - Beyond the Black Hole: Product Management for Continuous DeliveryFlowCon 2019 - Beyond the Black Hole: Product Management for Continuous Delivery
FlowCon 2019 - Beyond the Black Hole: Product Management for Continuous Delivery
 
Continuous Product Management (Industry 2019)
Continuous Product Management (Industry 2019)Continuous Product Management (Industry 2019)
Continuous Product Management (Industry 2019)
 
DevSecOps at Agile 2019
DevSecOps at   Agile 2019 DevSecOps at   Agile 2019
DevSecOps at Agile 2019
 
The A-word Agile and Beyond 2019
The A-word   Agile and Beyond 2019The A-word   Agile and Beyond 2019
The A-word Agile and Beyond 2019
 
Uncle Sam's Recipe (Mile High Agile)
Uncle Sam's Recipe (Mile High Agile)Uncle Sam's Recipe (Mile High Agile)
Uncle Sam's Recipe (Mile High Agile)
 
Aitc2018 ux impact - elizabeth ayer
Aitc2018   ux impact - elizabeth ayer Aitc2018   ux impact - elizabeth ayer
Aitc2018 ux impact - elizabeth ayer
 
Zen and the Art of Continuous Delivery - Elizabeth Ayer
Zen and the Art of Continuous Delivery - Elizabeth AyerZen and the Art of Continuous Delivery - Elizabeth Ayer
Zen and the Art of Continuous Delivery - Elizabeth Ayer
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

ABCDs of Database Development

  • 1. ABCDs of Database Development (Always Be Continuously Delivering) Elizabeth Ayer, Redgate Continuous Lifecycle London May the 4th @ElizAyer #ConLifecycleLon
  • 2. 1.What it is 2.Why you want it 3.Why you can’t have it @ElizAyer #ConLifecycleLon Continuous Delivery in 3 minutes
  • 3. Continuous Delivery is a set of software development practices which ensure that software remains releasable at all times. It is based on continuous integration, and automated build, test and deployment. @ElizAyer #ConLifecycleLon
  • 7. Source: 2015 State of DevOps Report, Puppet Labs https://puppet.com/resources/white-paper/2015-state-of-devops-report @ElizAyer #ConLifecycleLon Why the business wants DevOps
  • 9. Databases as a bottleneck 3 reasons why databases have traditionally slowed down deployments: Technology lag  SQL  CI systems DBA paranoia  Frankly… 1 2 3 @ElizAyer #ConLifecycleLon Data persistence  Data outlives applications  Data can’t be replaced
  • 10. Version control becomes the source of truth ~~~~ Development uses production-like environments ~~~~ Changes are reviewed at design time ~~~~ Nobody changes the database by hand Database CD: the rules @ElizAyer #ConLifecycleLon
  • 11. Application vs Database CD Application Database What you check in: Code Migrations (or database state) What ‘build’ means: Compile, link, etc. Validate by running migrations What you test in CI: Unit test Upgrade data checks (and unit test db logic) When you deploy: Replace application Run migrations More like infrastructure code than application code…. @ElizAyer #ConLifecycleLon
  • 13. Scenario @ElizAyer #ConLifecycleLon Continuous Integration TicketDeskDev1 TicketDeskMyTest TicketDeskCI Version Control 1. Design change: table split 2. Validate change locally: table split 3. Validate change on CI database
  • 14. Scenario @ElizAyer #ConLifecycleLon Jenkins TicketDeskDev1 TicketDeskMyTest TicketDeskCI Git 1. Design change: table split 2. Validate change locally: table split 3. Validate change on CI database Flyway
  • 15. Alternative approaches 1. Application controls database 2. Desired state @ElizAyer #ConLifecycleLon
  • 16. FAQs Hotfixes? Spinning up environments from scratch? Zero-downtime? …Wait, isn’t this scary? @ElizAyer #ConLifecycleLon
  • 19. Original Abstract • Databases often sit outside Continuous Delivery for a variety of reasons, good and bad. But if you want fast and reliable deployments, the database cannot remain separate. We’ll talk through the challenges and look at tools to automate database delivery, highlighting open source options. I’ll live demo a database change flowing to ‘production,’ giving a clear picture of a fully automated process. The session is for developers, ops people, and managers, who will come out understanding how to customise practices and toolsets, building a pipeline suited to their environment. The result will accelerate database delivery, while protecting the organisation’s most valuable asset: its data.
  • 20. Image Credits Slide 5: Kudzu picture via www.freerepublic.com/focus/news/2658403/posts Slides 6, 13, 14: Icons made by Dave Gandy and Freepik from www.flaticon.com, CC BY 3.0 license Slide 7: Data table from 2015 State of DevOps Report, Puppet Labs https://puppet.com/resources/white-paper/2015-state-of-devops-report Slide 8: Screenshot of https://www.gov.uk/service-manual/agile/continuous- delivery.html Slide 17: Plutonium handling picture from http://www.dsnews.ua/future/pyat- innovatsiy-proshloy-nedeli-kotorye-vy-mogli-propustit-27122015201700 Simpsons picture from http://showbizgeek.com/the-simpsons-final-episode- the-perfect-ending/