Versioned Service Deployment Planning for Microservice Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The deployment of new software versions in distributed computing environments is risky due to potential mismatches between test and target environments, leading to application failures, despite loose functional dependencies between services, and existing solutions either require manual synchronization or hinder agility.

Innovation Solution

A deployment recommendation system that analyzes monitored test results, service call dependencies, and version differences to generate automated deployment recommendations, ensuring compatibility and sequencing updates based on backward compatibility and version deviations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual synchronization step is implemented to ensure test environment matches target environment, then deployment reliability is improved, but deployment time and manual intervention increase

Engineering Contradiction:
Improvedeployment reliabilityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system continuously monitors the target environment to detect version changes automatically. When changes are detected, the system retrieves updated version information and automatically updates the test environment configuration, creating a feedback loop that maintains synchronization without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The test environment automatically detects and adapts to target environment changes through the monitoring system. The system self-updates its configuration based on detected version changes, eliminating the need for manual synchronization steps while maintaining environmental consistency.

Inventive Principle:
Principle #25Self-service

2Productivity

If parallel service deployments are performed by multiple development teams, then productivity is improved, but environment synchronization becomes difficult

Engineering Contradiction:
Improvedeployment productivityVSAvoidenvironment synchronization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The monitoring system continuously tracks version changes in the target environment before deployment operations occur. By detecting version changes in advance and preparing updated test environment configurations proactively, the system ensures that test and target environments remain synchronized even during parallel deployment activities by multiple teams.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If test environment is updated frequently to match target environment, then deployment accuracy is improved, but system complexity increases

Engineering Contradiction:
Improveenvironment matching accuracyVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system replaces manual environment synchronization mechanisms with an automated monitoring and update system. The monitoring component continuously detects version changes in the target environment, and the system automatically retrieves and applies updated configurations to the test environment, eliminating complex manual synchronization procedures while maintaining high accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentEP4270179B1Managing deployment of versioned services
Publication Date: 2025.10.29 DYNATRACE LLC
  • EP4270179B1 patent drawingFigure 1
  • EP4270179B1 patent drawingFigure 2
  • EP4270179B1 patent drawingFigure 3

AI summary

A technology is disclosed for automated risk analysis for the deployment of software component updates in complex microservice architectures. Dependencies and versions of deployment situations in test setup environments and in a target environment are analyzed and compared to identify a version delta between tested and production deployments. Further, test results for test deployments are used to identify and remove unsuccessful test setups. Successful test setups are ranked according to extend of their version delta against the target environment and one of the successful test setups is selected according to a deployment strategy. After a test setup is selected, a deployment plan considering service versions and dependencies is generated that guarantees a tested and functional state of the target environment after each deployment step.