Cloud App Update via Delegator Socket Interception
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Updating applications in a cloud computing environment often results in significant downtime and resource overhead, as existing methods require creating duplicate deployments, which is costly and impractical.
Innovation Solution
Implementing a 'Blue-Green' update technique using a listening delegator process that intercepts socket creation calls and swaps file descriptors to allow seamless configuration updates without downtime, utilizing Linux mechanisms for file descriptor transfer and hot reloading within the same deployment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If another copy of the application is executed in another deployment to avoid downtime, then service availability is maintained, but resource allocation doubles and costs increase substantially
Solution Approach 1:
The patent merges the listener functionality into a single shared deployment by using a delegator process that can dynamically forward connections to either the original or additional application instance. This eliminates the need for separate deployments, maintaining service availability while using the same resource allocation.
Solution Approach 2:
The delegator process serves multiple functions: it acts as a listener for incoming connections, dynamically routes traffic to appropriate application instances, and manages the transition between original and updated application versions. This multi-functional approach allows single deployment to provide redundancy and zero-downtime updates.
2Reliability
If another copy of the application is executed in another deployment to avoid downtime, then service continuity is maintained, but the time to create additional deployment imposes overhead
Solution Approach 1:
The delegator process is created in advance within the existing deployment and is ready to immediately forward connections. When updates are needed, the system can quickly switch between instances without the overhead of creating new deployments, as the infrastructure is already in place.
Solution Approach 2:
The system dynamically switches between the original and additional application instances through the delegator process. This dynamic routing allows seamless updates by redirecting traffic from the original instance to the additional instance without requiring deployment creation or stopping service.
3Manufacturing precision
If the application is taken offline during update, then update accuracy is ensured, but downtime occurs which is unacceptable to customers
Solution Approach 1:
The delegator process acts as an intermediary between incoming connections and the application instances. It allows the original application to be updated while continuously forwarding connections to either the original or additional instance, ensuring update accuracy is applied correctly while maintaining service availability without downtime.
Solution Approach 2:
The system maintains continuous service operation during updates by keeping the delegator process active and capable of forwarding connections to either instance. The update process applies configuration changes accurately while the delegator ensures uninterrupted service by routing traffic appropriately throughout the transition.
Data Source
AI summary
An updater platform may create a listening delegator process, associated with a listener file descriptor, within a deployment (without implementing an accept protocol). The platform may execute an original instance of an application process within the deployment and intercept a socket creation call from the original instance of the application process and replace it with the listener file descriptor. As a result, incoming connection requests are received by the listening delegator process and forwarded to the original instance of the application process. The platform may then determine that a configuration update is to be made to the application process and start an additional instance of the application process, with the updated configuration, within the deployment, such that incoming connection requests are received by the listening delegator process and forwarded to the additional instance of the application process. The platform may then switch off the original instance of the application process.


