Microservice Configuration via Distributed Deployment Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Configuring microservice-based applications is challenging due to dependencies between microservices, where changes in one microservice's configuration parameters may require corresponding changes in others, leading to inconsistencies and potential application crashes if not managed properly.

Innovation Solution

A distributed configuration deployment service (DCDS) and configuration APIs are used to generate and enforce application configuration parameter values and constraints, ensuring consistency across microservices by synthesizing service command models and checking configuration parameter values against live working data before deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If microservices are individually updated without centralized configuration management, then update flexibility and independence are improved, but configuration consistency and system reliability deteriorate

Engineering Contradiction:
Improveupdate flexibilityVSAvoidconfiguration consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A centralized configuration management system acts as an intermediary between microservices and configuration parameters. This mediator collects configuration requests from individual microservices, validates them against dependency constraints, and coordinates updates across the system, thereby maintaining consistency while preserving individual service update capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The configuration management system implements feedback mechanisms by monitoring configuration states across all microservices, detecting inconsistencies, and triggering corrective actions. This feedback loop ensures that configuration changes propagate correctly and dependencies are maintained throughout the distributed system

Inventive Principle:
Principle #23Feedback

2Ease of operation

If configuration parameters are changed in one microservice, then service functionality is improved, but system stability deteriorates due to potential inconsistencies in dependent microservices

Engineering Contradiction:
Improveservice functionalityVSAvoidsystem stability
Core Design Contradiction:
Ease of operationVSStability of the object's composition

Solution Approach 1:

Before applying configuration changes to microservices, the system performs preliminary validation by checking dependency constraints and predicting the impact of changes on dependent services. This preliminary action prevents unstable configurations from being deployed, maintaining system stability while allowing functional improvements

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The configuration management system applies preliminary anti-action by preemptively preventing configuration changes that would create inconsistencies or violate dependencies. This protective measure blocks potentially harmful changes before they can destabilize the system, while still permitting valid functional improvements

Inventive Principle:
Principle #9Preliminary anti-action

3Reliability

If centralized configuration management is implemented across all microservices, then configuration consistency is improved, but system complexity and deployment time worsen

Engineering Contradiction:
Improveconfiguration consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The configuration management system is segmented into modular components that handle different aspects of configuration management independently. This segmentation allows the system to manage complexity through modular architecture while maintaining centralized coordination and configuration consistency across distributed microservices

Inventive Principle:
Principle #1Segmentation

4Reliability

If configuration changes are propagated to all microservices, then system-wide consistency is improved, but deployment time and productivity worsen

Engineering Contradiction:
Improvesystem-wide consistencyVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies local quality by propagating configuration changes selectively to only those microservices that are affected by the changes or have dependencies on the modified parameters. This targeted approach maintains system-wide consistency where needed while avoiding unnecessary propagation to unaffected services, thereby reducing deployment time

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11861375B2Configuration for application using microservices
Publication Date: 2024.01.02 SAP SE
  • US11861375B2 patent drawing
  • US11861375B2 patent drawing
  • US11861375B2 patent drawing

AI summary

Various examples are directed to systems and methods for configuring an application that uses a plurality of microservices. A distributed configuration deploy service (DCDS) may generate a first set of microservice configuration parameter values for a first microservice of the plurality of microservices based at least in part on a first microservice configuration model for the first microservice and at least in part on a second configuration model for a second microservice of the plurality of microservices. A configuration application programming interface (API) may determine that the first set of microservice configuration parameter values do not conflict with first live data at the first microservice. The configuration API may also lock the first microservice; apply the first set of microservice configuration parameter values to the first microservice; and release the locking of the first microservice.