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 developers introducing issues simultaneously.

Innovation Solution

Deploying changed microservices to a shared environment using a service mesh's smart routing capabilities, where deployment validator flows pass through updated instances, while other users' flows go through original instances, and utilizing a persistence provisioning coordinator to create dedicated data stores for isolated environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

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

Engineering Contradiction:
Improvetesting isolationVSAvoidenvironment provisioning complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the environment provisioning by creating isolated namespaces for each developer rather than copying the entire environment. Each namespace contains only the necessary components for that developer's testing needs, reducing overall system complexity while maintaining testing isolation. The service mesh routes traffic to appropriate namespace versions based on developer identity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses lightweight namespace copying instead of full environment replication. Namespaces are created as isolated contexts within the existing environment, sharing underlying infrastructure but providing separate configuration and routing. This reduces resource consumption while maintaining the isolation needed for stable testing.

Inventive Principle:
Principle #26Copying

2Productivity

If multiple developers work simultaneously in the same environment, then resource utilization is improved, but the fragility and stability of the environment deteriorates due to potential conflicts

Engineering Contradiction:
Improveresource utilizationVSAvoidenvironment stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the shared environment into separate namespaces for each developer, allowing simultaneous work without conflicts. Each namespace is isolated with its own routing rules, so multiple developers can utilize the same underlying resources while maintaining independent testing spaces that prevent stability issues.

Inventive Principle:
Principle #1Segmentation

3Productivity

If routing rules are updated to direct traffic to updated microservice instances, then deployment speed and development velocity are improved, but the risk of affecting real production traffic increases

Engineering Contradiction:
Improvedeployment speedVSAvoidproduction traffic impact
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces the service mesh as an intermediary layer between external traffic and microservice instances. The service mesh intercepts and routes traffic based on namespace and version information, allowing updated instances to receive traffic without directly modifying production routing rules. This enables fast deployment while protecting production traffic through the intermediary's intelligent routing logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies different routing rules to different namespaces locally. Updated microservice instances in developer namespaces receive routed traffic for testing, while the main production namespace maintains its original routing. This local differentiation allows deployment speed improvements in test namespaces without affecting production traffic quality.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240241715A1Isolated environment provisioning in service mesh-based microservices systems
Publication Date: 2024.07.18 DELL PROD LP
  • US20240241715A1 patent drawing
  • US20240241715A1 patent drawing
  • US20240241715A1 patent drawing

AI summary

A system can receive a changeset for an updated microservice and an identifier of a user account that is configured to access the updated microservice, wherein the updated microservice represents an updated version relative to a current version of a microservice. The system can, in response to determining that the current version of the microservice is configured to access a first instance of a data store, provision a second instance of the data store. The system can instantiate the updated microservice. The system can update routing rules for the service mesh. The system can, in response to receiving traffic determined to be associated with the user account and directed to the current version of the microservice, route the traffic to the updated microservice instead of routing the traffic to the current version of the microservice.