Dynamic Microservice Removal in Resource-Constrained Test Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microservice test environments often lack sufficient resources (nodes, memory, CPU, storage) to execute a complete microservice test suite, leading to inefficiencies in resource allocation and constrained testing scenarios.

Innovation Solution

A computer-implemented method dynamically removes unnecessary microservices from the test environment to free up resources, allowing the execution of the test suite with the required set of microservices, and optionally generates a data structure to identify removed services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all microservices are maintained in the test environment, then service completeness is improved, but resource availability deteriorates

Engineering Contradiction:
Improveservice completenessVSAvoidresource availability
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The test environment dynamically adjusts the set of active microservices based on test requirements and resource availability. The system determines which microservices to activate or deactivate depending on the specific test suite being executed, transforming a static environment into a flexible, adaptive one that optimizes resource allocation while maintaining necessary service completeness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system segments the microservice set into different groups based on test requirements. Instead of maintaining all microservices simultaneously, the system divides them into subsets that are activated only when needed for specific test scenarios, allowing resource-efficient testing while preserving the ability to test complete service sets when resources permit.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If microservices are removed from the test environment, then resource availability is improved, but service completeness deteriorates

Engineering Contradiction:
Improveresource availabilityVSAvoidservice completeness
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary analysis to determine which microservices are required for upcoming test suites. Before executing tests, it proactively activates only the necessary microservices and deactivates others, ensuring resource availability is optimized in advance while maintaining service completeness only when and where needed for the specific test execution.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If a single test environment is used, then infrastructure cost is reduced, but resource capacity deteriorates

Engineering Contradiction:
Improveinfrastructure costVSAvoidresource capacity
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The system transforms a single test environment into a multi-functional platform that can dynamically adapt to different test requirements. By implementing intelligent microservice activation and deactivation based on test suite requirements, the same physical infrastructure can efficiently support multiple different testing scenarios, effectively increasing resource capacity utilization without requiring additional infrastructure.

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

Data Source

PatentUS12405832B2Dynamic reconfiguration of microservice test environment
Publication Date: 2025.09.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12405832B2 patent drawing
  • US12405832B2 patent drawing
  • US12405832B2 patent drawing

AI summary

Processing within a computing environment is facilitated by determining a set of microservices needed to execute a microservice test suite in a test environment, where the test environment is an active microservice test environment with a plurality of microservices. The process also includes determining that the test environment lacks sufficient resources to run the microservice test suite with the set of microservices, and dynamically removing at least one microservice of the plurality of microservices from the test suite not needed to execute the microservice test suite to free test environment resources for executing the microservice test suite with the set of microservices. The process also includes initiating executing, based on the dynamically removing, the microservice test suite in the test environment.