Load Balancer Redirects for Zero-Downtime Code Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing system deployment methods often cause session interruptions, server errors, and browser errors during updates, as they require clients to re-enter requests or receive outdated files, and are resource-intensive and cumbersome to administer.
Innovation Solution
Implementing redirect instructions via a load balancer to ensure clients access updated resources without errors, using HTTP status code redirects to repeatedly redirect requests until an updated server is reached, avoiding self-redirect loops and ensuring continuous access to requested resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If deployment updates are performed on servers, then system files are updated to newer versions, but client requests may be forwarded to stale hosts causing session interruptions and browser errors
Solution Approach 1:
The system performs preliminary deployment of updates to a subset of servers before fully activating them. The load balancer is configured in advance to detect deployment status and route traffic accordingly, preventing client requests from reaching stale hosts during the transition period.
Solution Approach 2:
The load balancer continuously monitors deployment status of backend servers and uses this feedback to dynamically adjust request routing. When deployment is detected, the load balancer stops forwarding requests to those servers until deployment completes, ensuring clients only access updated resources.
2Reliability
If deployment artifacts are pre-seeded into a CDN, then deployment problems are offloaded to the CDN, but the system requires additional infrastructure and configuration complexity
Solution Approach 1:
The patent extracts the deployment management function from the CDN infrastructure and relocates it to the load balancer. Instead of using CDN to serve deployment artifacts, the load balancer directly controls traffic routing based on deployment status, eliminating the need for CDN involvement in deployment operations.
3Use of energy by moving object
If deployments are performed on a percentage of servers at a time, then resource intensity is reduced, but administrative complexity increases and deployments become more cumbersome
Solution Approach 1:
The load balancer automatically detects deployment status on backend servers and self-adjusts traffic routing without administrator intervention. The system monitors deployment markers or status indicators and autonomously stops forwarding requests to servers undergoing deployment, eliminating manual configuration and reducing administrative burden.
Data Source
AI summary
When servers hosting a website are under some form of deployment activity (e.g., a software update being in mid-deployment), the resources requested may not be available from all servers hosting the website. In such mid-deployment edge cases, the server would return an error message in response to the request. According to an application employing redirect instructions via a load balancer, a redirect function (such as a Hypertext Transfer Protocol (HTTP) status code 302) may be configured to redirect a client request to the same location as an initial request, via a load balancer, in order to provide the client with multiple attempts of reaching an updated host (e.g., a server hosting a resource based on a recent deployment), without having to receive error codes or otherwise fail to receive the requested resource.


