Microservice Liveness Probe Validation for Data Schema Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in ensuring that application updates are backward compatible with various data schema versions, leading to potential failures when deployed to customer sites with different database versions.

Innovation Solution

The method involves monitoring microservices for updates, using liveness probes to test compatibility with production data schemas, and packaging updated microservices with testing data to form service-dataplane containers, ensuring that each version of the microservice is independently verified against each version of the data schema, allowing for automatic validation and backward compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If application updates are deployed without comprehensive compatibility testing, then deployment speed is improved, but system reliability deteriorates due to potential failures with different data schema versions

Engineering Contradiction:
Improvedeployment speedVSAvoidcompatibility assurance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs liveness probe testing in advance before deployment to validate compatibility between updated microservices and various data schema versions. This preliminary action ensures that compatibility issues are detected and resolved before the application is deployed to production, thereby maintaining reliability without sacrificing deployment speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of production data schemas in the service dataplane container for testing purposes. These copied schemas are used in liveness probes to simulate real-world scenarios and validate compatibility without affecting actual production data, enabling thorough testing while maintaining deployment efficiency.

Inventive Principle:
Principle #26Copying

2Reliability

If comprehensive liveness probe testing against all data schema versions is performed, then compatibility reliability is improved, but testing time and complexity increase

Engineering Contradiction:
Improvebackward compatibilityVSAvoidtesting duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The testing process is segmented into modular liveness probes, each targeting specific data schema versions or compatibility scenarios. This segmentation allows the system to efficiently test multiple versions without requiring exhaustive testing of every possible combination, reducing overall testing time while maintaining comprehensive compatibility validation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The liveness probe mechanism is designed as a universal testing framework that can validate compatibility across multiple data schema versions simultaneously. This multi-functional approach allows a single testing infrastructure to handle diverse testing scenarios, reducing the need for separate testing processes for each schema version and thereby minimizing testing duration.

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

3Measurement precision

If manual validation of microservice updates is performed, then testing thoroughness is improved, but automation level deteriorates

Engineering Contradiction:
Improvevalidation accuracyVSAvoidautomated validation
Core Design Contradiction:
Measurement precisionVSExtent of automation

Solution Approach 1:

The system implements self-service automated validation through liveness probes that automatically test microservice compatibility with various data schema versions. The automated process independently executes validation scenarios, generates test results, and determines compatibility outcomes without requiring manual intervention, thereby maintaining high validation accuracy while achieving full automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The automated liveness probe system incorporates feedback mechanisms that analyze test results and provide actionable insights about compatibility issues. The feedback loop enables the system to automatically adjust testing parameters, identify patterns in compatibility failures, and improve validation accuracy over time without manual intervention, bridging the gap between manual thoroughness and automated efficiency.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If multiple service-dataplane containers are created for different schema versions, then compatibility coverage is improved, but system complexity increases

Engineering Contradiction:
Improveschema version supportVSAvoidcontainer management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system merges multiple service-dataplane containers into a unified containerized environment where different data schema versions coexist. This consolidation approach allows the system to support multiple schema versions within a single managed unit, reducing the complexity of managing separate containers for each version while maintaining comprehensive compatibility coverage through organized data isolation within the unified structure.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10649886B2Automatically validated release candidates for data-driven applications by automated publishing of integration microservice and data container tuple
Publication Date: 2020.05.12 RED HAT INC
  • US10649886B2 patent drawing
  • US10649886B2 patent drawing
  • US10649886B2 patent drawing

AI summary

A system and method for automatically validated release candidates for data-driven applications includes monitoring a first microservice and a second microservice. A respective functionality of each microservice is independently verifiable. The method also includes determining whether at least one of the first microservice and the second microservice is updated. The first microservice includes a first liveness probe and the second microservice includes a second liveness probe. The method further includes, responsive to determining that the first microservice is updated, updating the first liveness probe using a first data schema. The first data schema is associated with the first microservice.