Application-Level Blue-Green Topology for Server Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesoftware versioning capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveswitchover reliabilityVSAvoiderror detection capability
Core Design Contradiction:
ReliabilityVSLoss of information

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvedeployment speedVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveaccess control flexibilityVSAvoidrouting rule complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11595495B2Process isolation via application-level blue-green topology
Publication Date: 2023.02.28 MORGAN STANLEY SERVICES GROUP INC
  • US11595495B2 patent drawing
  • US11595495B2 patent drawing
  • US11595495B2 patent drawing

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.