Application-Level Blue-Green Topology for Server Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current blue-green server cluster systems face challenges in managing multiple workflows where not all software is production-ready, leading to complications during switchover and potential downtime, as they lack finer control over software versioning and error handling.
Innovation Solution
A system with multiple server clusters and a gateway router that allows for nuanced control over software versioning and error response by routing requests based on user credentials, enabling individual software components to be switched between 'blue' and 'green' states independently, without affecting other software on the same cluster.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a blue-green topology is used to provide both stable production and development systems, then software versioning and testing capability is improved, but system complexity increases due to the need to manage multiple server clusters and routing configurations
Solution Approach 1:
The system segments the server infrastructure into distinct blue and green clusters, each handling specific software versions independently. This segmentation allows the blue cluster to serve production workloads while the green cluster handles development and testing, enabling parallel evolution of software versions without interfering with each other.
Solution Approach 2:
A gateway router is introduced as an intermediary component that mediates between clients and the server clusters. The router handles the routing logic, directing requests to appropriate clusters based on user credentials and software version requirements, thereby abstracting the complexity of cluster management from the application layer.
2Reliability
If a router-based blue-green topology is used for instant switchover, then system reliability is improved through seamless transitions, but loss of information occurs when errors are discovered after switchover as the router configuration cannot easily reflect current software states
Solution Approach 1:
The system establishes feedback loops where the gateway router receives real-time information about software states and errors from the server clusters. When errors are detected in the blue cluster, the feedback mechanism enables the router to update its routing decisions, directing traffic to the green cluster for further development while maintaining the ability to rollback if necessary.
Solution Approach 2:
The routing configuration is made dynamic rather than static. The gateway router continuously updates its routing rules based on the current state of software versions and error conditions, allowing flexible adaptation to changing system states without requiring manual reconfiguration or losing information about system conditions.
3Productivity
If server-level switchover is used for multiple workflows, then deployment speed is improved through instant routing changes, but device complexity increases due to the need to coordinate switchover across multiple software components
Solution Approach 1:
The system applies segmentation at the software component level within each cluster. Instead of treating all workflows as a single unit, individual software components can be deployed or rolled back independently within the blue or green cluster, allowing selective updates without coordinating switchover across all components.
Solution Approach 2:
The gateway router serves multiple functions: it routes traffic based on user credentials, manages blue-green topology switching, handles error responses, and coordinates software versioning. This multi-functionality consolidates what would otherwise require multiple separate coordination mechanisms into a single unified system.
4Adaptability or versatility
If credentials-based routing is implemented to allow developer access to development systems, then adaptability is improved through fine-grained access control, but device complexity increases due to the need to manage multiple routing rules and credentials
Solution Approach 1:
The system uses credential verification as a copying mechanism to determine routing decisions. Instead of managing complex routing rules for every possible user scenario, the gateway router copies the routing logic into a verification process that checks user credentials against predefined roles, simplifying the routing management while maintaining flexible access control.
Data Source
AI summary
A method for routing requests to a plurality of server clusters is disclosed. The method comprises establishing a first server cluster responding to requests concerning a first software via a first version of that software and to requests concerning a second software via a first version of that software, and a second server cluster responding to requests concerning the first software via a second version of that software and to requests concerning the second software via a second version of that software. A gateway router initially routes requests concerning the first and second software by default to the first server cluster. Upon receiving a request to change default routing of requests, a configuration of the gateway router is updated. Subsequent requests concerning the first software are routed to the second server cluster while subsequent request concerning the second software remain routed to the first server cluster.


