Upgrade Infrastructure Framework for Non-Disruptive Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face complexity in performing non-disruptive upgrades due to the need for complex coordination and orchestration across multiple appliances, leading to potential downtime and data loss, and lack a specific infrastructure to manage dependencies and runtime errors during the upgrade process.
Innovation Solution
The implementation of defined upgrade integration points within an upgrade infrastructure framework that guides the upgrade process, allowing for sequential upgrades of appliances and nodes, and enabling customized processing at specific points to manage health checks, schema updates, and feature enablement, thereby reducing runtime failures and ensuring high availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complex coordination and orchestration is performed across multiple appliances during upgrade, then upgrade completeness can be achieved, but system downtime increases and service availability decreases
Solution Approach 1:
The upgrade process is divided into distinct phases represented by workflow processing points (integration points) that can be executed sequentially across multiple appliances. Each integration point represents a discrete upgrade task that can be completed independently, allowing systematic progression through the upgrade workflow without requiring complete system downtime.
Solution Approach 2:
Health checks and dependency validations are performed at designated integration points before executing upgrade tasks. This preliminary action ensures that prerequisites are met and potential issues are identified early, preventing upgrade failures that would require rollback and additional downtime.
2Reliability
If sequential upgrades are performed across appliances and nodes, then service continuity is maintained, but upgrade duration increases
Solution Approach 1:
The upgrade workflow allows dynamic adjustment of upgrade sequencing based on system state and dependencies. Different appliances and nodes can be upgraded in optimized sequences, and the workflow can adapt to actual system conditions during execution, balancing service continuity requirements with upgrade efficiency.
3Reliability
If health checks and dependency validations are performed during upgrade, then runtime errors are reduced, but processing time at each integration point increases
Solution Approach 1:
Health checks and dependency validations are performed as preliminary actions at each integration point before the actual upgrade task executes. This ensures that necessary conditions are verified in advance, preventing runtime errors and failures that would require rollback, thereby reducing total upgrade time despite the additional validation steps.
4Ease of operation
If a structured framework with integration points is implemented, then upgrade management is simplified and reliability improved, but system complexity increases
Solution Approach 1:
The upgrade framework is segmented into discrete integration points that represent specific upgrade tasks and workflows. This segmentation simplifies management by providing clear, manageable units of work with defined entry and exit points, making the upgrade process more controllable and easier to track despite the underlying system complexity.
Solution Approach 2:
The integration points act as intermediaries between the upgrade management system and the actual upgrade tasks. This intermediary layer abstracts the complexity of coordinated upgrades across multiple appliances and nodes, providing a simplified interface for managing the upgrade process while handling the underlying complexity through standardized workflow execution.
Data Source
AI summary
Techniques for performing an upgrade can include: defining integration points, each associated with a workflow processing point of an upgrade workflow; associating code entities with the integration points; and performing processing that performs the upgrade workflow to upgrade a system, wherein the upgrade includes upgrading a first feature, facility or service of the system from a current version to a new version, wherein the processing further includes: executing code corresponding to workflow processing points of the upgrade workflow, wherein a first workflow processing point of the upgrade workflow is associated with a first of the integration points; and in response to said executing reaching the first workflow processing point corresponding to the first integration point, invoking a first code entity associated with the first integration point, wherein said first code entity performs customized processing in connection with upgrading the first feature, facility or service in the system.


