Zero-Downtime Software Upgrade via Parallel Runtime Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current maintenance procedures for software applications and databases often result in downtime during upgrades, which is undesirable and difficult to minimize, especially when dealing with incompatible versions.
Innovation Solution
An automated test and development platform that traces and analyzes development activities to compute an upgrade configuration, enabling a zero-downtime upgrade by establishing a parallel runtime environment and switching production use to the new version without disrupting service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional maintenance procedures are used to upgrade application or database, then the upgrade can be completed, but downtime occurs and users are unable to interact with the system
Solution Approach 1:
The system performs preliminary actions by creating a parallel runtime environment and pre-migrating database objects to a target schema before the upgrade is needed. The parallel runtime is established and database objects are copied to the target schema in advance, allowing the system to switch over without downtime when the upgrade is executed.
Solution Approach 2:
The upgrade process is segmented into distinct phases: maintaining the current runtime environment while establishing a parallel runtime, migrating only necessary database objects to a target schema, and switching between runtimes. This segmentation allows the upgrade to proceed without taking the entire system offline.
2Adaptability or versatility
If database objects are migrated to a target schema during upgrade, then the new version can be deployed, but the complexity of the upgrade process increases
Solution Approach 1:
A target schema acts as an intermediary between the source schema and the new application version. Database objects are migrated to this intermediate target schema, which then serves as the bridge allowing the new version to access data without direct compatibility issues with the old schema structure.
Solution Approach 2:
Instead of directly transforming and modifying the production database schema during upgrade, the system creates a copy of the necessary database objects in a target schema. This copying approach simplifies the upgrade process by avoiding complex in-place transformations and allowing non-destructive modifications.
3Ease of manufacture
If the application is taken offline for maintenance, then maintenance operations can be performed, but user interaction and productivity are disrupted
Solution Approach 1:
The system maintains continuous useful action by keeping the current runtime environment active and accessible to users throughout the upgrade process. While maintenance operations are performed on the parallel runtime and target schema, users continue to interact with the application without interruption, ensuring uninterrupted productivity.
Data Source
AI summary
Implementations include, during development of a second version within a development environment, tracing activities to determine development tables, the second version including changes that are incompatible with the first version, the development tables including deploy tables, activation tables, and troubleshooting tables, computing, by a configuration generator, an upgrade configuration based on the development tables, the upgrade configuration defining tables to deploy the changes during an upgrade, the tables being computed based on the development tables, during the upgrade: continuing production use of a first version using a first runtime at least partially including a first data schema, and establishing a second runtime at least partially by defining a second data schema within the database system using the upgrade configuration, the second data schema including the tables, and completing the upgrade by switching production use to the second version from the first version.


