SlideShare una empresa de Scribd logo
1 de 36
electric-cloud.com
#DOES16
CD for DBs
Chris Fulton, Global Technical Account Manager, Electric Cloud
Database Deployment Strategies
electric-cloud.com
#DOES16
Evolution of Database Deployments
Manual Prod Manual DB Auto DBl Auto DB++ DB Anywhere
electric-cloud.com
#DOES16
Why is the Database Important
• Contains logic and critical
business data
• The “brains” of an application
• Making changes to a database
is much like doing brain surgery
electric-cloud.com
#DOES16
Why is it complicated
• More than one application…
• Multiple databases per server…
• Most critical data…
 If you lose data from a database,
you lose critical customer data
• Ouch. Schema Changes
electric-cloud.com
#DOES16
Things to consider
electric-cloud.com
#DOES16
Testing
• What applications does this
deployment affect
• What testing should be done
(before/during/after)
• What do you do if testing
breaks
o Automated Rollback?
o Manual Intervention?
o Who decides
electric-cloud.com
#DOES16
Rollback
• At what point did it fail
 Did I corrupt tables
 Do I have partially updated data
 Is it partially deployed
• Was the system running when
updating
 Do I have some records
updated/changed since start
electric-cloud.com
#DOES16
Automation
• Who owns the automation?
• How does the automation
determine success/fail?
• What if I do fail?
• What tool to use?
• Supported features
 Automatic Rollback?
 Rolling Deployments?
electric-cloud.com
#DOES16
Distributed Development / Infrastructure
• How do developers merge code
• How do you integrate
developers work
• How do you handle distributed
systems across the world
electric-cloud.com
#DOES16
Methods
electric-cloud.com
#DOES16
SQL Scripts / Rollback Scripts
electric-cloud.com
#DOES16
SQL Scripts / Rollback Scripts - Advantages
• Fast deployments
• Just run a SQL script!
• Minimal or no downtime
electric-cloud.com
#DOES16
SQL Scripts / Rollback Scripts - Disadvantages
• Requires developer to never
make mistakes
• Requires extensive testing
 How to TRULY test rollback
• Error prone
• How do you merge multiple
developers work
electric-cloud.com
#DOES16
SQL Scripts / Rollback Scripts – Who should use
• Small Databases
• Small development teams
• Simple changes
• Legacy Databases
 If no other choice
electric-cloud.com
#DOES16
Backup at Deploy
electric-cloud.com
#DOES16
Backup at Deploy - Advantages
• Guarantees you are 100%
back to previous good state
• “Safest” technically speaking
electric-cloud.com
#DOES16
Backup at Deploy - Disadvantages
• Every application that
depends on the database is
100% down during deploy
• Slower deployments
electric-cloud.com
#DOES16
Backup at Deploy – Who should use
• Applications that can
withstand being down
• Smaller databases that
backup quickly
• Applications that do not
share databases
electric-cloud.com
#DOES16
DACPAC
• Microsoft’s solution to help
solve Database Deployment
issues
• Profile
 How do I run the DACPAC
• DACPAC
 What changes did I make
• Looks at what is on the
database currently and
compares to changes in
DACPAC then applies changes
electric-cloud.com
#DOES16
DACPAC - Advantages
• Creates easier rollbacks
• Deploy the previous DACPAC
o ElectricFlow™ lets you do
this Automatically!
o Works well with multiple
developers
• Use VisualStudio
electric-cloud.com
#DOES16
DACPAC - Disadvantages
• Requires well written profile
 Poorly written can cause
data loss
• Microsoft only solution
 Not for Oracle or other
DB’s
• Relatively new
electric-cloud.com
#DOES16
DACPAC – Who should use
• Microsoft only shops that are
on a newer version of
SqlServer
• All who use a version of
SqlServer that supports them
electric-cloud.com
#DOES16
Other DB Deployment tools
• Datical
• DBMaestro
• Redgate
• Many Many more
electric-cloud.com
#DOES16
Strategies
electric-cloud.com
#DOES16
Just do it – Deploy all at once
• Deploy all at once to all
machines
• Run individual tests after
deployment
• Rollback all at once
electric-cloud.com
#DOES16
Just do it – Deploy all at once
• Advantages
 Super fast deployments
 On Success, things are
already out there
• Disadvantages
 Dangerous if you have
failures
 Could bring down entire
system
 Not a lot of time to test
electric-cloud.com
#DOES16
Deploy Application Cluster
Partial deploy (Canary)
Database Cluster Application Cluster
Deploy Database Cluster
electric-cloud.com
#DOES16
Partial Deploy - Advantages
• Allows you to test on a subset of users
• On failure, you do not bring down everyone. Simply re-
point the users on the new deploy cluster back to the
original cluster
• Allows you to give a “sneak peek” to a subset of users
electric-cloud.com
#DOES16
Partial Deploy - Disadvantages
• Can be complex to maintain
• Requires more infrastructure to
maintain more clusters
• Often requires application changes
• Requires synchronizing databases
electric-cloud.com
#DOES16
Rolling deployment
Database Cluster Application Cluster
electric-cloud.com
#DOES16
Rolling deployment - Advantages
• No clone of infrastructure
required
• Allows you to do some testing
before rolling out to all machines
o If something breaks you can
simply remove the machines you
deployed to from the cluster
(little to no downtime)
• If you already have a cluster for
your DB and Application, little or
no changes are required
• Natively built into ElectricFlow™
electric-cloud.com
#DOES16
Rolling Deployment - Disadvantages
• Version mismatch could cause
issues depending on the
application and architecture
• Requires you to have clustered
environment for your DB and
Application
 (This is a best practice!!!)
• Could cause a complex
overhead in scripts, unless using
a tool like ElectricFlow™
electric-cloud.com
#DOES16
Take Aways
electric-cloud.com
#DOES16
Things to remember
• Don’t treat the database as the
stepchild
o Consider Databases from the
start
• Different solutions fit different
situations
• Consider failure when coming
up with a deployment strategy
• Follow best practices
o Backups, Clones, testing failure,
etc
• Version the database metadata
along with the process
electric-cloud.com
#DOES16
Talk to me
Email: cfulton@electric-cloud.com
LinkedIn: https://www.linkedin.com/in/chrisfulton
Company: http://www.electric-cloud.com
Try us out: http://electric-cloud.com/electricflow/
electric-cloud.com
#DOES16
Thank you!

Más contenido relacionado

La actualidad más candente

DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
Andreas Grabner
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Thoughtworks
 
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DevOpsDays Tel Aviv
 
Fine-Tuning of Agile Development
Fine-Tuning of Agile DevelopmentFine-Tuning of Agile Development
Fine-Tuning of Agile Development
Thoughtworks
 

La actualidad más candente (20)

DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
 
Ian Margetts - ASOS’ Journey to Continuous Deployment
Ian Margetts - ASOS’ Journey to Continuous DeploymentIan Margetts - ASOS’ Journey to Continuous Deployment
Ian Margetts - ASOS’ Journey to Continuous Deployment
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
 
DOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
DOES SFO 2016 - Ray Krueger - Speed as a Prime DirectiveDOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
DOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
 
OOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The WorldOOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The World
 
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
Troubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsTroubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability Hotspots
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
 
Fine-Tuning of Agile Development
Fine-Tuning of Agile DevelopmentFine-Tuning of Agile Development
Fine-Tuning of Agile Development
 
What's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE ParisWhat's an SRE at Criteo - Meetup SRE Paris
What's an SRE at Criteo - Meetup SRE Paris
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster!
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineTop Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your Pipeline
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)
 
Jeffrey Snover - Empowering DevOps with Azure Stack
Jeffrey Snover - Empowering DevOps with Azure StackJeffrey Snover - Empowering DevOps with Azure Stack
Jeffrey Snover - Empowering DevOps with Azure Stack
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
Accelerating Add-on Development From Concept to Launch
Accelerating Add-on Development From Concept to LaunchAccelerating Add-on Development From Concept to Launch
Accelerating Add-on Development From Concept to Launch
 
Database CI/CD Pipeline
Database CI/CD PipelineDatabase CI/CD Pipeline
Database CI/CD Pipeline
 
Continuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesContinuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket Pipelines
 

Destacado

DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
Gene Kim
 
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at VerizonDOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
Gene Kim
 

Destacado (20)

DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
 
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the EnterpriseDOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
 
DOES SFO 2016 - Alexa Alley - Value Stream Mapping
DOES SFO 2016 - Alexa Alley - Value Stream MappingDOES SFO 2016 - Alexa Alley - Value Stream Mapping
DOES SFO 2016 - Alexa Alley - Value Stream Mapping
 
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
 
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOpsDOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
 
DOES SFO 2016 - Greg Padak - Default to Open
DOES SFO 2016 - Greg Padak - Default to OpenDOES SFO 2016 - Greg Padak - Default to Open
DOES SFO 2016 - Greg Padak - Default to Open
 
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding EdgeDOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
 
DOES SFO 2016 - Marc Priolo - Are we there yet?
DOES SFO 2016 - Marc Priolo - Are we there yet? DOES SFO 2016 - Marc Priolo - Are we there yet?
DOES SFO 2016 - Marc Priolo - Are we there yet?
 
DOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Topo Pal - DevOps at Capital OneDOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Topo Pal - DevOps at Capital One
 
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, InitiativeDOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
 
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
 
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at VerizonDOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
 
DOES SFO 2016 - Steve Mayner - Transformational Leadership
DOES SFO 2016 - Steve Mayner - Transformational LeadershipDOES SFO 2016 - Steve Mayner - Transformational Leadership
DOES SFO 2016 - Steve Mayner - Transformational Leadership
 
DOES16 San Francisco - Opal Perry - Technology Transformation: How Team Value...
DOES16 San Francisco - Opal Perry - Technology Transformation: How Team Value...DOES16 San Francisco - Opal Perry - Technology Transformation: How Team Value...
DOES16 San Francisco - Opal Perry - Technology Transformation: How Team Value...
 
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
 
DOES SFO 2016 - David Habershon - Ministry of Social Development New Zealand
DOES SFO 2016 - David Habershon - Ministry of Social Development New ZealandDOES SFO 2016 - David Habershon - Ministry of Social Development New Zealand
DOES SFO 2016 - David Habershon - Ministry of Social Development New Zealand
 
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
 
DOES SFO 2016 - Courtney Kissler - Inspire and Nurture the Human Spirit
DOES SFO 2016 - Courtney Kissler - Inspire and Nurture the Human SpiritDOES SFO 2016 - Courtney Kissler - Inspire and Nurture the Human Spirit
DOES SFO 2016 - Courtney Kissler - Inspire and Nurture the Human Spirit
 
DOES16 San Francisco - DevOps Workshop: Leading Change
DOES16 San Francisco - DevOps Workshop: Leading ChangeDOES16 San Francisco - DevOps Workshop: Leading Change
DOES16 San Francisco - DevOps Workshop: Leading Change
 
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
 

Similar a DOES SFO 2016 - Chris Fulton - CD for DBs

SOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBSOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DB
UniFabric
 
Planning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPMPlanning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPM
WASdev Community
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5
UniFabric
 
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
LarryZaman
 
MIgrating to RAC using Dataguard
MIgrating to RAC  using Dataguard MIgrating to RAC  using Dataguard
MIgrating to RAC using Dataguard
Fuad Arshad
 

Similar a DOES SFO 2016 - Chris Fulton - CD for DBs (20)

Continuous database deployment
Continuous database deploymentContinuous database deployment
Continuous database deployment
 
SOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBSOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DB
 
SQL Saturday San Diego
SQL Saturday San DiegoSQL Saturday San Diego
SQL Saturday San Diego
 
Planning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPMPlanning For Catastrophe with IBM WAS and IBM BPM
Planning For Catastrophe with IBM WAS and IBM BPM
 
Intro to the Cloud
Intro to the CloudIntro to the Cloud
Intro to the Cloud
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Denver SQL Saturday The Next Frontier
Denver SQL Saturday The Next FrontierDenver SQL Saturday The Next Frontier
Denver SQL Saturday The Next Frontier
 
IBM Connections – Managing Growth and Expansion
IBM Connections – Managing Growth and ExpansionIBM Connections – Managing Growth and Expansion
IBM Connections – Managing Growth and Expansion
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5
 
Designing Scalable Applications
Designing Scalable ApplicationsDesigning Scalable Applications
Designing Scalable Applications
 
Copy Data Management for the DBA
Copy Data Management for the DBACopy Data Management for the DBA
Copy Data Management for the DBA
 
2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo2016 09-dev opsjourney-devopsdaysoslo
2016 09-dev opsjourney-devopsdaysoslo
 
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
Business_Continuity_Planning_with_SQL_Server_HADR_options_TechEd_Bangalore_20...
 
Common SQL Server Mistakes and How to Avoid Them with Tim Radney
Common SQL Server Mistakes and How to Avoid Them with Tim RadneyCommon SQL Server Mistakes and How to Avoid Them with Tim Radney
Common SQL Server Mistakes and How to Avoid Them with Tim Radney
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for Change
 
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamFrom Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
 
MIgrating to RAC using Dataguard
MIgrating to RAC  using Dataguard MIgrating to RAC  using Dataguard
MIgrating to RAC using Dataguard
 
Ten query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should knowTen query tuning techniques every SQL Server programmer should know
Ten query tuning techniques every SQL Server programmer should know
 
Database Administration & Management - 01
Database Administration & Management - 01Database Administration & Management - 01
Database Administration & Management - 01
 
DBAM-01.pdf
DBAM-01.pdfDBAM-01.pdf
DBAM-01.pdf
 

Más de Gene Kim

DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...
DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...
DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...
Gene Kim
 

Más de Gene Kim (9)

DOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
DOES SFO 2016 - Steve Brodie - The Future of DevOps in the EnterpriseDOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
DOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
 
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...
 
DOES SFO 2016 - Andy Cooper & Brandon Holcomb - When IT Closes the Deal
DOES SFO 2016 - Andy Cooper & Brandon Holcomb - When IT Closes the DealDOES SFO 2016 - Andy Cooper & Brandon Holcomb - When IT Closes the Deal
DOES SFO 2016 - Andy Cooper & Brandon Holcomb - When IT Closes the Deal
 
DOES SFO 2016 - Matthew Barr - Enterprise Git - the hard bits
DOES SFO 2016 - Matthew Barr - Enterprise Git - the hard bits DOES SFO 2016 - Matthew Barr - Enterprise Git - the hard bits
DOES SFO 2016 - Matthew Barr - Enterprise Git - the hard bits
 
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
DOES SFO 2016 - Sam Guckenheimer & Ed Blankenship "Moving to One Engineering ...
 
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic RequiredDOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
 
DOES16 San Francisco - Dominica DeGrandis - Time Theft: How Hidden and Unplan...
DOES16 San Francisco - Dominica DeGrandis - Time Theft: How Hidden and Unplan...DOES16 San Francisco - Dominica DeGrandis - Time Theft: How Hidden and Unplan...
DOES16 San Francisco - Dominica DeGrandis - Time Theft: How Hidden and Unplan...
 
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
 
DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...
DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...
DOES16 San Francisco - Charles Betz - Influencing Higher Education to Create ...
 

Último

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

DOES SFO 2016 - Chris Fulton - CD for DBs

Notas del editor

  1. History of database deployments Developer manually changes production databases by hand Developer manually writes SQL scripts, then runs sql scripts by hand Developer manually writes SQL scripts, then automatically runs SQL scripts Uses hammer to run SQL Developer automatically generates SQL scripts, and uses tool to automatically run them Sharper tool to be more effitient Developer moves away from SQL scripts to more advanced methods of deployments and no longer has to worry about them
  2. Contains logic and critical business data The “brain” of an application Maing changes to a database is like doing “brain surgery”
  3. Applications contain files / components / dependencies Databases contain “the brain” that control all applications Similar concept to “the borg” A change in one database can affect many applications Can affect business data Not only is your site down, you lost all banking information Schema Changes – ACID makes it more challenging
  4. What applications does this affect What other tables/db’s are affected What testing should be done before / during / after deployment What to do if your testing breaks Rollback Manual intervention Who makes that call (automatically made? Testing often can’t happen cause you can’t copy the entire database
  5. At what point did it fail Did I corrupt tables Do I have partially updated data Is it partially deployed Was the system running when updating Do I have some records that are updated since I started deployment Did you lose data in transit
  6. Who ownes the automation How does the automation determine success / failure What happens if it does fail What tool to use for automation Does that tool support features needed Rollback? Partial / Rolling deployment
  7. How do developers merge code What if one portion of the database code is “ready to go” but others aren’t Do the developers do integrated testing Distributed Development / Infrastructure – ADD to slides
  8. DB Developer writes a script for deployment and also a script for “undeployment” Advantages: Fast deployment (just run SQL script) … when it works Minimal or no downtime … when it works Disadvantages Requires developer to never make mistakes (never happens right!) How do you TRULY test a rollback – do you even test them? Developer makes no mistakes right?! Can be error prone …. Unless developer is perfect How do you merge multiple developers work Good for: Simple small databases with small development team
  9. DB Developer writes a script for deployment and also a script for “undeployment” Advantages: Fast deployment (just run SQL script) … when it works Minimal or no downtime … when it works Disadvantages Requires developer to never make mistakes (never happens right!) How do you TRULY test a rollback – do you even test them? Developer makes no mistakes right?! Can be error prone …. Unless developer is perfect How do you merge multiple developers work Good for: Simple small databases with small development team
  10. DB Developer writes a script for deployment and also a script for “undeployment” Advantages: Fast deployment (just run SQL script) … when it works Minimal or no downtime … when it works Disadvantages Requires developer to never make mistakes (never happens right!) How do you TRULY test a rollback – do you even test them? Developer makes no mistakes right?! Can be error prone …. Unless developer is perfect How do you merge multiple developers work Good for: Simple small databases with small development team
  11. DB Developer writes a script for deployment and also a script for “undeployment” Advantages: Fast deployment (just run SQL script) … when it works Minimal or no downtime … when it works Disadvantages Requires developer to never make mistakes (never happens right!) How do you TRULY test a rollback – do you even test them? Developer makes no mistakes right?! Can be error prone …. Unless developer is perfect How do you merge multiple developers work Good for: Simple small databases with small development team
  12. At deployment backup, then deploy, then if you need to rollback, restore backup Adv Guarantees you are 100% back to previous good state “Safest” method Disadvantes Every application that depends on the database is 100% down during the entire deployment process Won’t work for sites that always need to be up (What if I am in tokyo and need some money from my bank in the USA but they are down cause they are deploying) Slower deployments – have to also take into account the time to run the backup before deployment into deploy time. For larger databases this can take hours (or more) Good for Small applications with very small databases that can withstand being down for deploy time
  13. At deployment backup, then deploy, then if you need to rollback, restore backup Adv Guarantees you are 100% back to previous good state “Safest” method Disadvantes Every application that depends on the database is 100% down during the entire deployment process Won’t work for sites that always need to be up (What if I am in tokyo and need some money from my bank in the USA but they are down cause they are deploying) Slower deployments – have to also take into account the time to run the backup before deployment into deploy time. For larger databases this can take hours (or more) Good for Small applications with very small databases that can withstand being down for deploy time
  14. At deployment backup, then deploy, then if you need to rollback, restore backup Adv Guarantees you are 100% back to previous good state “Safest” method Disadvantes Every application that depends on the database is 100% down during the entire deployment process Won’t work for sites that always need to be up (What if I am in tokyo and need some money from my bank in the USA but they are down cause they are deploying) Slower deployments – have to also take into account the time to run the backup before deployment into deploy time. For larger databases this can take hours (or more) Good for Small applications with very small databases that can withstand being down for deploy time
  15. At deployment backup, then deploy, then if you need to rollback, restore backup Adv Guarantees you are 100% back to previous good state “Safest” method Disadvantes Every application that depends on the database is 100% down during the entire deployment process Won’t work for sites that always need to be up (What if I am in tokyo and need some money from my bank in the USA but they are down cause they are deploying) Slower deployments – have to also take into account the time to run the backup before deployment into deploy time. For larger databases this can take hours (or more) Good for Small applications with very small databases that can withstand being down for deploy time
  16. Microsoft’s solution to help solve this Allows you to have a profile (how do I run the dacpac) and dacpac (changes I made to the database) which then will look at the database on a machine and decide how to merge the changes in your dacpac onto the database on the machine Advantages Creates an easy rollback (deploy the previous dacpac …. Automatic in ElectricFlow!!!!) Works well with multiple developers (since the product will automatically merge the changes) Disadvantages Requires well written profile (poorly written profile can cause data loss) Microsoft only (what if I use Oracle) Relatively new (what if I have a legacy database) Good for: Microsoft shops that use a newer version!! I would HIGHLY recommend all people that use a newer version of SQLServer to use this method to deploy.
  17. Microsoft’s solution to help solve this Allows you to have a profile (how do I run the dacpac) and dacpac (changes I made to the database) which then will look at the database on a machine and decide how to merge the changes in your dacpac onto the database on the machine Advantages Creates an easy rollback (deploy the previous dacpac …. Automatic in ElectricFlow!!!!) Works well with multiple developers (since the product will automatically merge the changes) Disadvantages Requires well written profile (poorly written profile can cause data loss) Microsoft only (what if I use Oracle) Relatively new (what if I have a legacy database) Good for: Microsoft shops that use a newer version!! I would HIGHLY recommend all people that use a newer version of SQLServer to use this method to deploy.
  18. Microsoft’s solution to help solve this Allows you to have a profile (how do I run the dacpac) and dacpac (changes I made to the database) which then will look at the database on a machine and decide how to merge the changes in your dacpac onto the database on the machine Advantages Creates an easy rollback (deploy the previous dacpac …. Automatic in ElectricFlow!!!!) Works well with multiple developers (since the product will automatically merge the changes) Disadvantages Requires well written profile (poorly written profile can cause data loss) Microsoft only (what if I use Oracle) Relatively new (what if I have a legacy database) Good for: Microsoft shops that use a newer version!! I would HIGHLY recommend all people that use a newer version of SQLServer to use this method to deploy.
  19. Microsoft’s solution to help solve this Allows you to have a profile (how do I run the dacpac) and dacpac (changes I made to the database) which then will look at the database on a machine and decide how to merge the changes in your dacpac onto the database on the machine Advantages Creates an easy rollback (deploy the previous dacpac …. Automatic in ElectricFlow!!!!) Works well with multiple developers (since the product will automatically merge the changes) Disadvantages Requires well written profile (poorly written profile can cause data loss) Microsoft only (what if I use Oracle) Relatively new (what if I have a legacy database) Good for: Microsoft shops that use a newer version!! I would HIGHLY recommend all people that use a newer version of SQLServer to use this method to deploy.
  20. Include a few other tools here
  21. Deploy everything at once
  22. Deploy everything at once Testing isin production – NOT RECOMMENDED
  23. Take one machine out of a cluster, deploy to it, wait a week or so then take other machines out Run extensive testing on a subset of users
  24. Similar to partial deploy, but don’t create cluster just for deployment Native in ElectricFlow
  25. One size does not fit all. Depending on needs/database size / application size, different approaches work better for different people No two companies are alike, but all can share the same common goals Databases CAN fit in an agile process, with careful planning and preperation