SDDC Application Upgrade via Appliance State Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software-defined data centers (SDDCs), existing methods for upgrading applications often result in significant downtime, which is undesirable, especially for applications requiring frequent upgrades, and there is a need for a method to revert to a stable state in case of upgrade failures.
Innovation Solution
A method involving lifecycle management software that deploys a second appliance with an upgraded version of services, replicates the state of the first appliance, performs a switchover to activate the new appliance, and contracts the unused state of the second appliance, allowing for minimal downtime and easy rollback.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional upgrade methods are used, then application services can be upgraded to new versions, but significant downtime is caused which affects service availability
Solution Approach 1:
The upgrade process is segmented into multiple appliances (first appliance for current version, second appliance for new version) that operate independently. This allows the new version to be prepared and tested without disrupting the running services, enabling zero-downtime upgrades by switching between segmented components rather than upgrading in-place.
Solution Approach 2:
The second appliance is deployed and configured in advance with the new version services before the actual upgrade occurs. The state of the first appliance is replicated to the second appliance beforehand, so when switchover is needed, the new version is already ready to take over immediately without requiring downtime for preparation.
2Adaptability or versatility
If applications are upgraded frequently to maintain compliance, then policy compliance is improved, but downtime accumulates which reduces productivity
Solution Approach 1:
Appliance states are replicated in advance to prepare the new version appliance before upgrade time. This preliminary state replication ensures that when compliance upgrades are needed, the system can switch appliances instantly without time-consuming preparation, allowing frequent compliance updates without productivity loss.
Solution Approach 2:
The state of the first appliance is copied to the second appliance, creating a complete replica of the current version. This copying mechanism enables the new version to be tested and validated against compliance policies while the old version continues serving, allowing frequent compliance checks and updates without service disruption.
3Reliability
If upgrade processes include rollback capability, then reliability is improved, but system complexity increases
Solution Approach 1:
The system maintains separate first and second appliances for current and new versions respectively, with the ability to switch between them. This segmentation provides inherent rollback capability by simply switching back to the first appliance, avoiding the need for complex rollback mechanisms while maintaining reliability.
Solution Approach 2:
The second appliance is prepared in advance with the new version, and the replication process creates a complete state copy. If the upgrade fails or needs to be rolled back, the system can simply switch back to the first appliance's state, providing easy rollback without complex procedures since the previous state is already preserved.
Data Source
AI summary
A method of upgrading an application in a software-defined data center (SDDC) includes: deploying, by lifecycle management software executing in the SDDC, a second appliance, a first appliance executing services of the application at a first version, the second appliance having services of the application at a second version, the services in the first appliance being active and the services in the second appliance being inactive; expanding, by the lifecycle management software, state of the first appliance to support both the services at the first version and the services at the second version; replicating, by the lifecycle management software, the state of the first appliance to the second appliance; performing, by the lifecycle management software, a switchover to stop the services of the first appliance and start the services of the second appliance; and contracting, by the lifecycle management software, state of the second appliance to remove a portion unused by the services at the second version.


