Microservice Dependency Orchestration for Deployment Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The deployment of containerized microservices is challenging due to interdependencies among services, as existing container environments do not effectively manage service dependencies, leading to potential corruption of data or unexpected states during deployment.

Innovation Solution

A management service that processes metadata declaring runtime dependencies, using algorithms to orchestrate the deployment of services in a manner that preserves these dependencies, ensuring that services are started in a correct order to avoid timing issues and data corruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If services are deployed in parallel without dependency management, then deployment speed is improved, but data corruption and unexpected states occur

Engineering Contradiction:
Improvedeployment speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by declaring and analyzing service dependencies before deployment begins. The dependency graph is constructed and topologically sorted in advance to determine the correct deployment sequence, ensuring that services are deployed in the proper order while still enabling parallel deployment of independent services to maintain high productivity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If services are deployed sequentially to maintain dependencies, then data integrity is preserved, but deployment time increases

Engineering Contradiction:
Improvedata integrityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically adjusts the deployment strategy by using topological sorting on the dependency graph to identify services that can be deployed in parallel. Instead of a rigid sequential approach, the system determines the minimum sequential steps required while allowing maximum parallelization of independent services, thus preserving data integrity while minimizing deployment time.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If manual dependency management is implemented, then deployment accuracy is improved, but operational complexity increases

Engineering Contradiction:
Improvedeployment accuracyVSAvoidoperational complexity
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The system implements self-service by automatically constructing the dependency graph from service declarations and performing topological sorting to determine deployment order. The system autonomously manages complex dependency relationships without requiring manual intervention, thereby maintaining high deployment accuracy while significantly reducing operational complexity for users.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11586482B2Deployment of services with dependencies
Publication Date: 2023.02.21 EMC IP HLDG CO LLC
  • US11586482B2 patent drawing
  • US11586482B2 patent drawing
  • US11586482B2 patent drawing

AI summary

Metadata includes runtime dependencies for services that form an application. Each runtime dependency includes one or more of the one or more services, unless it has no runtime dependencies. A first of the services is selected, based on the metadata, that does not have runtime dependencies or those runtime dependencies are operational. The selected service is started. Other embodiments are described and claimed.