Language-Agnostic Gray Deployment via Proxy Plugin Labeling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing deployment techniques for microservices in production environments are costly and resource-intensive, particularly for larger applications, and lack support for language-agnostic traffic routing between microservices and middleware, leading to inefficiencies in communication pathways.

Innovation Solution

The implementation of a language-agnostic full link gray deployment method that uses a plugin within a proxy to propagate and route traffic, assigning custom labels to requests based on trace IDs to manage traffic between different versions of microservices and middleware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If two versions of the entire application are run in production for seamless migration and rollback, then deployment flexibility is improved, but resource consumption and cost increase significantly

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the application into independent microservices that can be deployed and managed separately. Instead of running two complete application versions, individual microservices are versioned and routed independently, reducing the resource overhead from duplicating entire applications to duplicating only specific service components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by enabling different routing strategies for different microservices within the same application. Traffic can be routed to specific versions of individual services based on local service requirements rather than globally versioning the entire application, allowing precise control over resource allocation.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If traffic splitting is implemented only at the entry point, then routing simplicity is maintained, but independent microservice management becomes challenging

Engineering Contradiction:
Improverouting simplicityVSAvoidmicroservice independence
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary routing layer (service mesh/proxy) that sits between the entry point and microservices. This intermediary handles complex routing logic internally while presenting a simple interface at the entry point, enabling both routing simplicity and microservice independence simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent adds a new dimension to routing by implementing multi-dimensional routing capabilities. Traffic can be routed not only at the entry point but also dynamically at each service boundary using trace identifiers and custom labels, creating a multi-layered routing architecture that maintains simplicity while enabling fine-grained control.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If language-specific deployment methods are used, then deployment efficiency for specific stacks is improved, but flexibility and integration complexity decrease when using diverse technologies

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidtechnology integration flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal deployment approach using language-agnostic protocols and standards (HTTP, gRPC, trace identifiers). The routing mechanism works across different programming languages and frameworks through standardized interfaces, enabling multi-functionality that handles both language-specific efficiency and cross-language integration simultaneously.

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

4Device complexity

If traffic routing between services and middleware is not supported, then system complexity is reduced, but communication pathway optimization is hindered

Engineering Contradiction:
Improvesystem complexityVSAvoidcommunication efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-configuring routing rules and policies for service-to-middleware communication. Trace identifiers and custom labels are attached to requests in advance, enabling the routing system to automatically direct traffic through optimized pathways without adding complex runtime decision-making logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250202810A1Systems and methods for language agnostic full link gray deployment of microservices and middleware
Publication Date: 2025.06.19 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US20250202810A1 patent drawing
  • US20250202810A1 patent drawing
  • US20250202810A1 patent drawing

AI summary

According to one or more aspects, apparatus, systems, and methods may be provided for language agnostic full link gray deployment of microservices and middleware. According to an aspect a method may be provided for propagating and routing traffic between microservices of an application. The method includes receiving, at a plugin of a proxy corresponding to a service of the application, an outbound request from the service. The outbound request may indicate a trace identifier (ID) identifying a trace of the outbound request in the application. The method may further include assigning, by the plugin, a custom label to the outbound request. The custom label may be associated with the trace ID and indicate a version of the application towards which the outbound request is to be routed. The method may further include sending, by the plugin to a router of the proxy, the outbound request for routing.