Service Mesh Routing for Isolated Microservice Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microservices environments face challenges in efficiently provisioning isolated environments for testing new changes without requiring a full copy of the original environment, which can be resource-intensive and fragile due to multiple broken flows in shared environments.

Innovation Solution

Deploying changed microservices to a shared environment using a service mesh's capabilities for smart routing, where deployment validator traffic passes through updated microservices, while other users' traffic goes through original versions, allowing for user-based routing and reducing resource requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a full copy of the original environment is created for testing new changes, then testing isolation and reliability are improved, but resource consumption and system complexity increase significantly

Engineering Contradiction:
Improvetesting isolationVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the environment by creating an isolated testing environment that includes only the specific microservice being updated and its dependent microservices, rather than copying the entire production environment. This selective segmentation reduces resource consumption while maintaining testing isolation for the relevant components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by providing different environment configurations to different users based on their testing needs. Each user receives an isolated environment with the specific changeset they need to test, while other users continue to access the stable production environment, optimizing resource allocation for each local context.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If multiple changes are deployed in a shared environment, then resource utilization improves, but environment stability and reliability deteriorate due to broken flows

Engineering Contradiction:
Improveresource utilizationVSAvoidenvironment stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the shared environment into isolated testing spaces for different users. Each user's changeset is tested in its own isolated environment that shares underlying infrastructure resources, thereby maintaining high resource utilization while preventing stability issues from propagating between different testing contexts.

Inventive Principle:
Principle #1Segmentation

3Reliability

If an isolated testing environment is created for each change, then testing reliability and isolation are improved, but deployment complexity and time increase

Engineering Contradiction:
Improvetesting isolationVSAvoiddeployment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple isolated testing environments by having them share common infrastructure resources and using a centralized routing mechanism. The routing rule manager consolidates the management of multiple isolated environments, allowing them to be provisioned and managed as a coordinated system rather than separate complex deployments.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a routing rule manager as an intermediary that automatically manages the provisioning and configuration of isolated testing environments. This intermediary handles the complexity of environment isolation, dependency resolution, and routing configuration, thereby reducing the perceived deployment complexity for end users.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If traffic routing is updated to direct user traffic to updated microservices, then development velocity and deployment frequency improve, but risk of affecting production stability increases

Engineering Contradiction:
Improvedevelopment velocityVSAvoidproduction stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by implementing user-specific routing rules that direct only the submitting user's traffic to the updated microservice instance, while all other users continue to access the stable production environment. This localized traffic routing enables rapid development iteration for individual users without compromising overall production stability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11968086B1Isolated environment provisioning in service mesh-based microservices systems
Publication Date: 2024.04.23 DELL PROD LP
  • US11968086B1 patent drawing
  • US11968086B1 patent drawing
  • US11968086B1 patent drawing

AI summary

A system can receive a changeset for an updated microservice and an identifier of a user account, wherein the updated microservice is relative to a current version of a microservice. The system can instantiate the updated microservice. The system can, in response to determining that a first instance of a dependent microservice depends on the current version of the microservice, instantiate a second instance of the dependent microservice. The system can update routing rules for the service mesh to indicate that any traffic that is associated with the user account and that is directed to the current version of the microservice is to be routed to the updated microservice, and any traffic directed from the updated microservice to the first instance of the dependent microservice is to be routed to the second instance of the dependent microservice.