SlideShare a Scribd company logo
Always On
Zero Downtime releases
for systems with relational databases
@anderslundsgard
Always On
• What?
– New versions of system components deployed at any time without causing
downtime for the end user
• Why?
– Enables Fast turnaround time
– Production deployments can be made at any time. Preferably in office hours when
the contributors are present.
• How?
– Automated deployment
– Load balanced deploy for webservers
– Database changes should be independent on application version
Pre-requirements for Always On
• A desire to increase quality and long term maintainability
• A desire to reduce the time between production deploys
• Versioning of code and database scripts
• Tooling for automated deployment
– Special tooling for relational databases is a must
How?
The deployment of web and database servers
Decoupling database and webserver installations
Traditional
App
(C#, Java)
v.98
SQL
v.98
App
(C#, Java)
v.99
SQL
v.99
App
(C#, Java)
v.100
SQL
v.100
SQL
v.101
App
(C#, Java)
v.101
Decoupling database and webserver installations
Decoupled
App
(C#, Java)
v.98
App
(C#, Java)
v.99
App
(C#, Java)
v.100
App
(C#, Java)
v.101
SQL
v.25
SQL
v.26
SQL
v.27
SQL
v.28
SQL
v.29
SQL
v.30
SQL
v.31
SQL
v.32
Database server
Web1 Web2
Load balancer
End users don’t experience any downtime
1. Bring down web server #1 from load balancer
2. Install new version of application on server #1
Updating the web servers
3. Toggle the load balancer
4. Install new version of application on server #2
5. Activate load balancer
Database server
Web server
1. Add new schema
2. Write to both schemas
3. Backfill historical data
4. Read from new schema
5. Remove writes to old schema
6. Remove old schema
End users don’t experience any downtime
Updating the database Read Write
Probably after days or weeks
What does this mean to me?
• It’s easy!
– A database change should always be
backward compatible with the old code
• Example of what is not doable
– Changing a stored procedure so that it changes its interface (in and out
parameters)
• Solution: Create a new version of the stored procedure
– Migrate data to a new structure that is dependent on new data access
• Solution: Have parallel writes/reads
@anderslundsgard
Questions?

More Related Content

What's hot

Java Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsJava Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable Apps
Afkham Azeez
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
Sascha Möllering
 
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
Amazon Web Services
 
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015
Aviran Mordo
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
Sascha Möllering
 
React on rails v4
React on rails v4React on rails v4
React on rails v4
Justin Gordon
 
How to Troubleshoot & Optimize Database Query Performance for Your Application
How to Troubleshoot  & Optimize Database Query Performance for Your ApplicationHow to Troubleshoot  & Optimize Database Query Performance for Your Application
How to Troubleshoot & Optimize Database Query Performance for Your Application
Dynatrace
 
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
ECS19 - Ingo Gegenwarth -  Running Exchangein large environmentECS19 - Ingo Gegenwarth -  Running Exchangein large environment
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
European Collaboration Summit
 
Chef fundamentals
Chef fundamentalsChef fundamentals
Chef fundamentals
Ygor Nascimento
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Martin Bergljung
 
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
serge luca
 
Big Retail Goes Reactive at Walmart
Big Retail Goes Reactive at WalmartBig Retail Goes Reactive at Walmart
Big Retail Goes Reactive at Walmart
Nurun
 
Change Data Capture using Kafka
Change Data Capture using KafkaChange Data Capture using Kafka
Change Data Capture using Kafka
Akash Vacher
 
Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?
Pat Patterson
 
Serverless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloadsServerless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloads
Tensult
 
Cloud Scale Lessons Learned
Cloud Scale Lessons LearnedCloud Scale Lessons Learned
Cloud Scale Lessons Learned
Nick Stephens
 
Pratiques administration avancées et techniques de développement
Pratiques administration avancées et techniques de développementPratiques administration avancées et techniques de développement
Pratiques administration avancées et techniques de développement
Paris Salesforce Developer Group
 
Save 90% on Your Containerized Workloads - August 2017 AWS Online Tech Talks
Save 90% on Your Containerized Workloads - August 2017 AWS Online Tech TalksSave 90% on Your Containerized Workloads - August 2017 AWS Online Tech Talks
Save 90% on Your Containerized Workloads - August 2017 AWS Online Tech Talks
Amazon Web Services
 
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groupsUnbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
serge luca
 
Coordinating Micro-Services with Spring Cloud Contract
Coordinating Micro-Services with Spring Cloud ContractCoordinating Micro-Services with Spring Cloud Contract
Coordinating Micro-Services with Spring Cloud Contract
Omri Spector
 

What's hot (20)

Java Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable AppsJava Colombo: Developing Highly Scalable Apps
Java Colombo: Developing Highly Scalable Apps
 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
 
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
 
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015
 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
 
React on rails v4
React on rails v4React on rails v4
React on rails v4
 
How to Troubleshoot & Optimize Database Query Performance for Your Application
How to Troubleshoot  & Optimize Database Query Performance for Your ApplicationHow to Troubleshoot  & Optimize Database Query Performance for Your Application
How to Troubleshoot & Optimize Database Query Performance for Your Application
 
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
ECS19 - Ingo Gegenwarth -  Running Exchangein large environmentECS19 - Ingo Gegenwarth -  Running Exchangein large environment
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
 
Chef fundamentals
Chef fundamentalsChef fundamentals
Chef fundamentals
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
 
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
 
Big Retail Goes Reactive at Walmart
Big Retail Goes Reactive at WalmartBig Retail Goes Reactive at Walmart
Big Retail Goes Reactive at Walmart
 
Change Data Capture using Kafka
Change Data Capture using KafkaChange Data Capture using Kafka
Change Data Capture using Kafka
 
Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?
 
Serverless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloadsServerless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloads
 
Cloud Scale Lessons Learned
Cloud Scale Lessons LearnedCloud Scale Lessons Learned
Cloud Scale Lessons Learned
 
Pratiques administration avancées et techniques de développement
Pratiques administration avancées et techniques de développementPratiques administration avancées et techniques de développement
Pratiques administration avancées et techniques de développement
 
Save 90% on Your Containerized Workloads - August 2017 AWS Online Tech Talks
Save 90% on Your Containerized Workloads - August 2017 AWS Online Tech TalksSave 90% on Your Containerized Workloads - August 2017 AWS Online Tech Talks
Save 90% on Your Containerized Workloads - August 2017 AWS Online Tech Talks
 
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groupsUnbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
 
Coordinating Micro-Services with Spring Cloud Contract
Coordinating Micro-Services with Spring Cloud ContractCoordinating Micro-Services with Spring Cloud Contract
Coordinating Micro-Services with Spring Cloud Contract
 

Similar to Always On - Zero Downtime releases

Five Workload-to-Cloud Migration Methods
Five Workload-to-Cloud Migration MethodsFive Workload-to-Cloud Migration Methods
Five Workload-to-Cloud Migration Methods
Peak 10
 
Database CI/CD Pipeline
Database CI/CD PipelineDatabase CI/CD Pipeline
Database CI/CD Pipeline
muhammadhashir57
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything Chef
Mandi Walls
 
Database Change Management
Database Change Management Database Change Management
Database Change Management
headspringlabs
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
ciberkleid
 
Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
Dr. Spock
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
VMware Tanzu
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
Aviran Mordo
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
Marcin Grzejszczak
 
Sql 2012 Upgrade Readiness Guide
Sql 2012 Upgrade Readiness GuideSql 2012 Upgrade Readiness Guide
Sql 2012 Upgrade Readiness Guide
PARIKSHIT SAVJANI
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
DataBank, A KYOCERA Group Company
 
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Hirofumi Iwasaki
 
AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2
Sean Braymen
 
Azure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solutionAzure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solution
Gelis Wu
 
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
 
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
DOES SFO 2016 - Avan Mathur - Planning for Huge ScaleDOES SFO 2016 - Avan Mathur - Planning for Huge Scale
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
Gene Kim
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
IBM DevOps
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Claudia Ring
 
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications:Blue/Green and Canary DeploymentsContinuous Delivery of Cloud Applications:Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
Praveen Yalagandula
 

Similar to Always On - Zero Downtime releases (20)

Five Workload-to-Cloud Migration Methods
Five Workload-to-Cloud Migration MethodsFive Workload-to-Cloud Migration Methods
Five Workload-to-Cloud Migration Methods
 
Database CI/CD Pipeline
Database CI/CD PipelineDatabase CI/CD Pipeline
Database CI/CD Pipeline
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything Chef
 
Database Change Management
Database Change Management Database Change Management
Database Change Management
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Continuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfestContinuous Deployment of your Application @JUGtoberfest
Continuous Deployment of your Application @JUGtoberfest
 
Sql 2012 Upgrade Readiness Guide
Sql 2012 Upgrade Readiness GuideSql 2012 Upgrade Readiness Guide
Sql 2012 Upgrade Readiness Guide
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
 
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
 
AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2AOUG_11Nov2016_Challenges_with_EBS12_2
AOUG_11Nov2016_Challenges_with_EBS12_2
 
Azure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solutionAzure PaaS (WebApp & SQL Database) workshop solution
Azure PaaS (WebApp & SQL Database) workshop solution
 
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...
 
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
DOES SFO 2016 - Avan Mathur - Planning for Huge ScaleDOES SFO 2016 - Avan Mathur - Planning for Huge Scale
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
 
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications:Blue/Green and Canary DeploymentsContinuous Delivery of Cloud Applications:Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
 

More from Anders Lundsgård

The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021
Anders Lundsgård
 
DevOps journey at Scania - Visiting Migrationsverket
DevOps journey at Scania - Visiting MigrationsverketDevOps journey at Scania - Visiting Migrationsverket
DevOps journey at Scania - Visiting Migrationsverket
Anders Lundsgård
 
Scania's DevSecOps approach - Gamifying Security - auto:CODE
Scania's DevSecOps approach - Gamifying Security - auto:CODEScania's DevSecOps approach - Gamifying Security - auto:CODE
Scania's DevSecOps approach - Gamifying Security - auto:CODE
Anders Lundsgård
 
Cloud @ Scania - Södertälje Science Week
Cloud @ Scania - Södertälje Science WeekCloud @ Scania - Södertälje Science Week
Cloud @ Scania - Södertälje Science Week
Anders Lundsgård
 
The Cloud Journey in an Enterprise - IDC Multicloud - Stockholm November 20, ...
The Cloud Journey in an Enterprise - IDC Multicloud - Stockholm November 20, ...The Cloud Journey in an Enterprise - IDC Multicloud - Stockholm November 20, ...
The Cloud Journey in an Enterprise - IDC Multicloud - Stockholm November 20, ...
Anders Lundsgård
 
The Cloud Journey in an Enterprise - CoDe-Conf - Copenhagen October 11, 2018
The Cloud Journey in an Enterprise - CoDe-Conf - Copenhagen October 11, 2018 The Cloud Journey in an Enterprise - CoDe-Conf - Copenhagen October 11, 2018
The Cloud Journey in an Enterprise - CoDe-Conf - Copenhagen October 11, 2018
Anders Lundsgård
 
The Cloud journey in an Enterprise - Delivery of Things World - Berlin April ...
The Cloud journey in an Enterprise - Delivery of Things World - Berlin April ...The Cloud journey in an Enterprise - Delivery of Things World - Berlin April ...
The Cloud journey in an Enterprise - Delivery of Things World - Berlin April ...
Anders Lundsgård
 
The DevOps journey in an Enterprise - CoDe-Conf. Stockholm September 14, 2017
The DevOps journey in an Enterprise - CoDe-Conf. Stockholm September 14, 2017The DevOps journey in an Enterprise - CoDe-Conf. Stockholm September 14, 2017
The DevOps journey in an Enterprise - CoDe-Conf. Stockholm September 14, 2017
Anders Lundsgård
 
BizDevOps Transformation, Metrics and Microservices at Scania, June 2017 in L...
BizDevOps Transformation, Metrics and Microservices at Scania, June 2017 in L...BizDevOps Transformation, Metrics and Microservices at Scania, June 2017 in L...
BizDevOps Transformation, Metrics and Microservices at Scania, June 2017 in L...
Anders Lundsgård
 
The DevOps Journey in an Enterprise, Scania - Delivery Of Things World 2017
The DevOps Journey in an Enterprise, Scania - Delivery Of Things World 2017The DevOps Journey in an Enterprise, Scania - Delivery Of Things World 2017
The DevOps Journey in an Enterprise, Scania - Delivery Of Things World 2017
Anders Lundsgård
 
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
Anders Lundsgård
 
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
Anders Lundsgård
 
DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015
Anders Lundsgård
 
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
Anders Lundsgård
 
DevOps @ Scania - Trust and some code - NFI Testforum 2015
DevOps @ Scania - Trust and some code - NFI Testforum 2015DevOps @ Scania - Trust and some code - NFI Testforum 2015
DevOps @ Scania - Trust and some code - NFI Testforum 2015
Anders Lundsgård
 

More from Anders Lundsgård (15)

The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021
 
DevOps journey at Scania - Visiting Migrationsverket
DevOps journey at Scania - Visiting MigrationsverketDevOps journey at Scania - Visiting Migrationsverket
DevOps journey at Scania - Visiting Migrationsverket
 
Scania's DevSecOps approach - Gamifying Security - auto:CODE
Scania's DevSecOps approach - Gamifying Security - auto:CODEScania's DevSecOps approach - Gamifying Security - auto:CODE
Scania's DevSecOps approach - Gamifying Security - auto:CODE
 
Cloud @ Scania - Södertälje Science Week
Cloud @ Scania - Södertälje Science WeekCloud @ Scania - Södertälje Science Week
Cloud @ Scania - Södertälje Science Week
 
The Cloud Journey in an Enterprise - IDC Multicloud - Stockholm November 20, ...
The Cloud Journey in an Enterprise - IDC Multicloud - Stockholm November 20, ...The Cloud Journey in an Enterprise - IDC Multicloud - Stockholm November 20, ...
The Cloud Journey in an Enterprise - IDC Multicloud - Stockholm November 20, ...
 
The Cloud Journey in an Enterprise - CoDe-Conf - Copenhagen October 11, 2018
The Cloud Journey in an Enterprise - CoDe-Conf - Copenhagen October 11, 2018 The Cloud Journey in an Enterprise - CoDe-Conf - Copenhagen October 11, 2018
The Cloud Journey in an Enterprise - CoDe-Conf - Copenhagen October 11, 2018
 
The Cloud journey in an Enterprise - Delivery of Things World - Berlin April ...
The Cloud journey in an Enterprise - Delivery of Things World - Berlin April ...The Cloud journey in an Enterprise - Delivery of Things World - Berlin April ...
The Cloud journey in an Enterprise - Delivery of Things World - Berlin April ...
 
The DevOps journey in an Enterprise - CoDe-Conf. Stockholm September 14, 2017
The DevOps journey in an Enterprise - CoDe-Conf. Stockholm September 14, 2017The DevOps journey in an Enterprise - CoDe-Conf. Stockholm September 14, 2017
The DevOps journey in an Enterprise - CoDe-Conf. Stockholm September 14, 2017
 
BizDevOps Transformation, Metrics and Microservices at Scania, June 2017 in L...
BizDevOps Transformation, Metrics and Microservices at Scania, June 2017 in L...BizDevOps Transformation, Metrics and Microservices at Scania, June 2017 in L...
BizDevOps Transformation, Metrics and Microservices at Scania, June 2017 in L...
 
The DevOps Journey in an Enterprise, Scania - Delivery Of Things World 2017
The DevOps Journey in an Enterprise, Scania - Delivery Of Things World 2017The DevOps Journey in an Enterprise, Scania - Delivery Of Things World 2017
The DevOps Journey in an Enterprise, Scania - Delivery Of Things World 2017
 
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
The DevOps journey in an Enterprise - Scania @ Swisscom software day 2016
 
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
The DevOps journey in an Enterprise - Continuous Lifecycle London 2016
 
DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015DevOps @ Scania - Perforce on Tour, Berlin 2015
DevOps @ Scania - Perforce on Tour, Berlin 2015
 
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
An agile journey - Scania Connected Services at Meetup Go Agile - Stockholm (...
 
DevOps @ Scania - Trust and some code - NFI Testforum 2015
DevOps @ Scania - Trust and some code - NFI Testforum 2015DevOps @ Scania - Trust and some code - NFI Testforum 2015
DevOps @ Scania - Trust and some code - NFI Testforum 2015
 

Recently uploaded

Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPointMẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
1990 Media
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
ToshihiroIto4
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Rosie Wells
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Dutch Power
 
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
OECD Directorate for Financial and Enterprise Affairs
 
Updated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidismUpdated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidism
Faculty of Medicine And Health Sciences
 
XP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to LeadershipXP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to Leadership
samililja
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Dutch Power
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
gharris9
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
artemacademy2
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
amekonnen
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
SkillCertProExams
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
OECD Directorate for Financial and Enterprise Affairs
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
gharris9
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
Frederic Leger
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
kkirkland2
 

Recently uploaded (19)

Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPointMẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
Mẫu PPT kế hoạch làm việc sáng tạo cho nửa cuối năm PowerPoint
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
 
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
 
Updated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidismUpdated diagnosis. Cause and treatment of hypothyroidism
Updated diagnosis. Cause and treatment of hypothyroidism
 
XP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to LeadershipXP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to Leadership
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
 
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
Mastering the Concepts Tested in the Databricks Certified Data Engineer Assoc...
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
 

Always On - Zero Downtime releases

  • 1. Always On Zero Downtime releases for systems with relational databases @anderslundsgard
  • 2. Always On • What? – New versions of system components deployed at any time without causing downtime for the end user • Why? – Enables Fast turnaround time – Production deployments can be made at any time. Preferably in office hours when the contributors are present. • How? – Automated deployment – Load balanced deploy for webservers – Database changes should be independent on application version
  • 3. Pre-requirements for Always On • A desire to increase quality and long term maintainability • A desire to reduce the time between production deploys • Versioning of code and database scripts • Tooling for automated deployment – Special tooling for relational databases is a must
  • 4. How? The deployment of web and database servers
  • 5. Decoupling database and webserver installations Traditional App (C#, Java) v.98 SQL v.98 App (C#, Java) v.99 SQL v.99 App (C#, Java) v.100 SQL v.100 SQL v.101 App (C#, Java) v.101
  • 6. Decoupling database and webserver installations Decoupled App (C#, Java) v.98 App (C#, Java) v.99 App (C#, Java) v.100 App (C#, Java) v.101 SQL v.25 SQL v.26 SQL v.27 SQL v.28 SQL v.29 SQL v.30 SQL v.31 SQL v.32
  • 7. Database server Web1 Web2 Load balancer End users don’t experience any downtime 1. Bring down web server #1 from load balancer 2. Install new version of application on server #1 Updating the web servers 3. Toggle the load balancer 4. Install new version of application on server #2 5. Activate load balancer
  • 8. Database server Web server 1. Add new schema 2. Write to both schemas 3. Backfill historical data 4. Read from new schema 5. Remove writes to old schema 6. Remove old schema End users don’t experience any downtime Updating the database Read Write Probably after days or weeks
  • 9. What does this mean to me? • It’s easy! – A database change should always be backward compatible with the old code • Example of what is not doable – Changing a stored procedure so that it changes its interface (in and out parameters) • Solution: Create a new version of the stored procedure – Migrate data to a new structure that is dependent on new data access • Solution: Have parallel writes/reads