Microservice Deployment With Separate Source And Deployment Repositories

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software development processes for microservices face challenges with cyclic dependencies between source and deployment repositories, leading to complex continuous deployment via CI/CD pipelines, requiring extra business logic and manual regression tests, and lack true continuous delivery.

Innovation Solution

A method is implemented to control the execution of separate processes for deployment configuration and application logic changes using distinct repositories, eliminating the need for an intermediate staging branch and manual regression tests, and ensuring continuous deployment by identifying and sequencing changes as independent or dependent types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate source and deployment repositories are used for microservices, then deployment flexibility and independence are improved, but cyclic dependencies between repositories increase complexity

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidrepository dependency complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the monolithic repository into two independent repositories: a source repository for application code and a deployment repository for configuration and deployment logic. This segmentation allows independent management of each repository, eliminating cyclic dependencies while maintaining deployment flexibility. The source repository contains only application source code, while the deployment repository contains deployment manifests, Helm charts, and configuration files, allowing them to be developed and updated independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the deployment logic and configuration files from the source repository and places them in a separate deployment repository. This extraction removes the cyclic dependency relationship where source code changes required deployment configuration changes and vice versa. The deployment repository can now be updated independently based on deployment requirements without being tied to source code changes.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If traditional CI/CD pipelines are used with staging branches, then code review and testing are improved, but deployment time and manual intervention requirements increase

Engineering Contradiction:
Improvecode review and testing qualityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by executing deployment validation and testing procedures automatically during the deployment process without requiring manual regression tests. The system pre-validates deployment configurations, performs automated testing, and only proceeds with deployment when validation succeeds. This eliminates the need for manual regression testing while maintaining deployment reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous deployment by eliminating intermediate staging branches and manual approval steps. The CI/CD pipeline flows directly from source repository commits to production deployment through automated validation and testing. This continuous action eliminates downtime and manual intervention, allowing deployments to proceed continuously as long as automated validation passes.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If manual regression tests and extra business logic are required for deployment, then deployment safety is improved, but deployment process complexity and time consumption increase

Engineering Contradiction:
Improvedeployment safetyVSAvoiddeployment process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the deployment system to automatically validate configurations, perform testing, and determine deployment readiness without requiring manual regression tests or extra business logic. The system self-validates deployment manifests, self-tests deployment configurations, and self-determines when deployment is safe to proceed. This automated self-service maintains deployment safety while eliminating manual intervention and reducing process complexity.

Inventive Principle:
Principle #25Self-service

4Reliability

If intermediate staging branches are used for deployment, then change validation is improved, but deployment speed and continuous delivery capability are reduced

Engineering Contradiction:
Improvechange validation qualityVSAvoiddeployment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent removes intermediate staging branches and implements a continuous deployment pipeline that flows directly from source repository commits to production. Automated validation and testing occur inline during the deployment process, maintaining change validation quality while eliminating the discontinuities and delays introduced by staging branches. This enables true continuous delivery where validated changes are deployed immediately without waiting for manual staging branch approvals.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20250335184A1Continuous deployment of microservices or other applications using separate source and deployment repositories
Publication Date: 2025.10.30 DELL PROD LP
  • US20250335184A1 patent drawing
  • US20250335184A1 patent drawing
  • US20250335184A1 patent drawing

AI summary

A method in one embodiment comprises implementing a first process for carrying out an application deployment configuration change using a deployment repository, and implementing a second process for carrying out an application logic change using a source repository, the second process being different than the first process. The method further comprises identifying a particular type of change to be made to at least one application, and controlling execution of a particular sequence of one or more instances of at least one of the first process and the second process responsive to identification of the particular type of change to be made to the at least one application. The deployment repository and the source repository are illustratively part of a continuous integration/continuous deployment (CI/CD) system. The CI/CD system controls software code for applications executed by host devices of a host platform coupled to the CI/CD system over at least one network.