Deployment Pipeline Waves for Enterprise Application Rollout

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In continuous integration/continuous deployment systems, deploying applications to large enterprises' production environments can result in faults due to configuration differences and varying data across computer systems, as existing methods lack controlled deployment strategies to assess application performance on specific systems before enterprise-wide deployment.

Innovation Solution

Implementing a deployment pipeline with sequential waves, where the initial waves allow user-defined deployment to specific systems, followed by universal waves deploying to fixed subsets and eventually all systems, to limit the impact of faulty deployments and ensure application operability across different configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If deployment is performed to all enterprise systems simultaneously, then deployment speed is improved, but the risk of widespread faults increases due to configuration differences and varying data across systems

Engineering Contradiction:
Improvedeployment speedVSAvoiddeployment reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The deployment process is divided into multiple sequential waves, where each wave deploys to a specific subset of systems. The first wave targets systems matching predefined criteria, the second wave targets remaining systems, and subsequent waves handle edge cases. This segmentation allows controlled rollout while maintaining overall deployment progress.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before full enterprise-wide deployment, the system performs preliminary deployment waves to specific system subsets that match predetermined criteria. These preliminary actions allow validation of application performance on representative systems before committing to enterprise-wide deployment, reducing the risk of widespread faults.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If deployment is performed to specific systems first through multiple waves, then deployment reliability is improved by limiting fault impact, but deployment time increases due to sequential execution

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

Solution Approach 1:

The deployment pipeline dynamically adjusts the number and scope of waves based on application requirements and enterprise environment. The system can configure wave criteria, system subsets, and execution parameters dynamically, allowing optimization between reliability and time consumption for different deployment scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system allows modification of deployment parameters such as wave count, system selection criteria, and parallel execution settings. By changing these parameters, users can balance deployment reliability (more waves, smaller subsets) against deployment time (fewer waves, larger subsets) based on specific needs.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If a fixed deployment pipeline is used for all applications, then deployment consistency is improved, but adaptability to different application requirements deteriorates

Engineering Contradiction:
Improvedeployment consistencyVSAvoiddeployment adaptability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The deployment pipeline controller provides a universal platform that handles multiple deployment scenarios through a common interface. It supports both fixed enterprise-wide deployment patterns and customized application-specific patterns, allowing the same system to serve diverse deployment needs while maintaining consistent operational procedures.

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

Solution Approach 2:

The system performs preliminary configuration where application-specific deployment parameters are defined before execution. This allows customization of wave criteria, system targets, and deployment settings for each application while maintaining the structured multi-wave pipeline framework, achieving both consistency and adaptability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12045594B2Application deployment platform
Publication Date: 2024.07.23 TARGET BRANDS INC
  • US12045594B2 patent drawing
  • US12045594B2 patent drawing
  • US12045594B2 patent drawing

AI summary

A computer-implemented method includes defining a deployment pipeline for each application of a collection of applications, the deployment pipeline comprising an ordered plurality of waves of deployment wherein the ordered plurality of waves of deployment comprises a set wave of deployment and a variable wave of deployment with the set wave of deployment comprising deployment to a plurality of locations that is the same for each application in the collection of applications. For each application in the collection of applications, a list of locations selected by a respective user for the variable wave of deployment is received such that two applications of the collection of applications deploy to different locations during their respective variable wave of deployment. An indication that the build of the application has been created is received and in response, one of the plurality of waves of deployment is executed.