Automated Software Deployment via Version Control Release Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development processes for continuous integration, delivery, and deployment are cumbersome, requiring manual scripting and complex coordination between developers and operations engineers, leading to inefficiencies and inaccuracies, especially in regulated industries, where environment-specific configurations and frequent deployments are challenging.

Innovation Solution

A software deployment system comprising a storage module, release module, deployment control module, and deployment module that automates the storage, generation, and application of deployment parameters across multiple environments, enabling standardized and automated deployment of applications, including configuration and secret management, with support for methods like blue-green deployment and rollbacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual scripting and coordination between developers and operations engineers is used for deployment, then environment-specific configurations can be customized, but deployment efficiency and accuracy deteriorate due to administrative burdens and tracking inaccuracies

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidadministrative coordination complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The deployment system enables self-service by allowing developers to define and execute deployment configurations autonomously through code stored in version control. The system automatically manages environment-specific configurations, eliminates the need for operations engineer intervention in deployment execution, and provides automated tracking of deployment states across all environments.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical coordination processes with an automated software system. Instead of human operators manually scripting and coordinating deployments across environments, the system uses automated agents that read deployment configurations from version control, execute deployments programmatically, and automatically track and report deployment states, eliminating human error and administrative overhead.

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

2Productivity

If frequent deployments are implemented to improve productivity, then software delivery speed increases, but tracking accuracy and regulatory compliance deteriorate due to manual process limitations

Engineering Contradiction:
Improvedeployment frequencyVSAvoiddeployment tracking accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system implements continuous feedback by automatically monitoring deployment states across all environments and providing real-time status information. Each deployment action is automatically recorded and tracked through version control, creating an immutable audit trail that ensures regulatory compliance while enabling frequent deployments. The system continuously reports deployment success or failure states back to the development pipeline.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent uses version control systems to create and manage copies of deployment configurations for different environments. Each environment has its own configured copy of deployment parameters, allowing frequent deployments to multiple environments simultaneously while maintaining accurate tracking of each environment's specific state through automated versioned records.

Inventive Principle:
Principle #26Copying

3Productivity

If standardized automated deployment is implemented to improve efficiency, then deployment speed increases, but adaptability to environment-specific configurations may deteriorate

Engineering Contradiction:
Improvedeployment speedVSAvoidenvironment-specific configuration flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system applies local quality by allowing each deployment configuration to have environment-specific parameters and settings while maintaining a standardized automated deployment process. Each environment (development, integration, production) can have its own customized configuration files stored in version control, enabling the automated system to adapt to local environment requirements without sacrificing deployment speed or standardization.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11157253B1Computer-automated software release and deployment architecture
Publication Date: 2021.10.26 CHARLES SCHWAB & CO INC
  • US11157253B1 patent drawing
  • US11157253B1 patent drawing
  • US11157253B1 patent drawing

AI summary

A software deployment system includes a release module, a deployment control module, and a deployment module. The release module is configured to generate a first release object identifying a specific version of a first set of files in a version control system. The files encode deployment parameters, including a pointer to an executable form of a first application. The deployment control module is configured to promote the first release object to an environment by copying the first set of files to a location in the version control system corresponding to the environment. The deployment module is configured to, after the first release object is promoted to an environment, deploy the first release object by: configuring the environment according to the deployment parameters; copying the executable form of the first application from the pointer location to the environment; and initiating execution of the copied executable form in the environment.