Instance Replacement Workflow for Seamless Application Patching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current patching processes in service provider networks require users to delete and recreate applications on instances that need security patches, leading to high usability issues due to unavailability of desired instance types and frequent failures, resulting in disrupted user experiences.
Innovation Solution
An automated instance replacement workflow using a scheduler, executor, and notification system to migrate applications from unacceptable instances to patched instances, managing race conditions and resource management through conditional updates and workflows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If applications are deleted and recreated on instances requiring security patches, then security vulnerabilities are addressed, but user experience deteriorates due to app loss and recreation time
Solution Approach 1:
The system performs preliminary actions by creating a snapshot of the instance before patching and automatically migrating applications to a new instance in advance. This allows the old instance to be patched without users experiencing app loss or downtime, as their applications are already relocated and running on the patched instance.
Solution Approach 2:
The system creates a copy of the instance (snapshot) and migrates applications to this copied instance. The snapshot contains all application data and configuration, allowing seamless transition to the patched instance without losing any user applications or requiring manual recreation.
2Reliability
If instance patching is performed manually through deletion and recreation, then security updates are applied, but time consumption increases due to app recreation requirements
Solution Approach 1:
The system performs preliminary migration of applications to a new instance before the old instance is patched. This automated preliminary action eliminates the time-consuming manual app recreation process, as applications are already transferred and running on the patched instance when patching completes.
Solution Approach 2:
The system provides self-service automation where the migration and patching process occurs without user intervention. The automated workflow handles instance snapshotting, application migration, patching, and verification independently, eliminating the time users would otherwise spend recreating applications.
3Ease of operation
If automated instance replacement is implemented, then user disruption is minimized during patching, but system complexity increases due to workflow management requirements
Solution Approach 1:
The automated patching process is segmented into distinct, manageable workflow steps: snapshot creation, new instance provisioning, application migration, old instance patching, and verification. Each step is independently managed and can be executed automatically, reducing the complexity burden on users while maintaining seamless operation.
Solution Approach 2:
The system introduces an automated workflow management intermediary that coordinates between users, instances, and applications. This intermediary handles the complex coordination of snapshotting, migration, patching, and verification tasks, shielding users from complexity while enabling automated instance replacement with minimal disruption.
4Productivity
If instances are patched in place without replacement, then resource utilization is maintained, but security breaches may occur due to patching failures or delays
Solution Approach 1:
The system performs preliminary migration to a new instance before patching the old one. This ensures that even if patching fails or is delayed, user applications continue running on the new instance, preventing security breaches while maintaining resource utilization through automated instance lifecycle management.
Solution Approach 2:
The system creates a cushioning mechanism by provisioning a new instance and migrating applications before patching the old instance. This preparatory cushion ensures application continuity and security even if patching encounters issues, as applications are already secured on the new instance.
Data Source
AI summary
This disclosure describes a scheduler of an instance replacement service of a service provider network determines a first instance that needs replacement. The scheduler determines if a second instance exists and based upon determining the second instance exists, the scheduler schedules a first application to be moved from the first instance to the second instance. An executor of the instance replacement service moves the first application from the first instance to the second instance and decrements a counter by one. Based on a current value of the counter equaling zero, the executor discontinues moving of applications from the first instance to the second instance and recycles the first instance.


