Self-Validating Application Deployment via Test Deployer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software testing processes fail to detect errors introduced by differences between test and production environments, leading to potential bugs or errors in deployed applications that were not present during testing.

Innovation Solution

Self-validating applications include validation tests stored in an application archive, which are run by a test deployer to verify basic functionality before full deployment, allowing for error detection and reporting outside the conventional testing process, thereby ensuring the application functions properly in the production environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional testing process is used, then development time is reduced, but errors in production environment cannot be detected

Engineering Contradiction:
Improveerror detection capabilityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The validation test is executed as a preliminary action before the full deployment process. The test deployer runs validation tests against a snapshot of the production environment configuration before deploying the new application, allowing potential errors to be detected in advance without delaying the actual deployment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A test deployer acts as an intermediary between the deployment system and the production environment. The test deployer creates a snapshot of the production environment configuration and runs validation tests in this isolated environment, mediating the detection of potential errors without requiring direct modification of the production system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If validation tests are run before deployment, then error detection improves, but deployment process complexity increases

Engineering Contradiction:
Improveapplication functionality verificationVSAvoiddeployment process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The deployment process is segmented into distinct phases: first, the test deployer creates a snapshot of the production environment configuration; second, validation tests are executed against this snapshot; third, only if tests pass does the full deployment proceed. This segmentation isolates the complexity of validation testing from the main deployment process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of modifying the actual production environment, the system creates a copy (snapshot) of the production environment configuration. The validation tests run against this copy, allowing comprehensive functionality verification without adding complexity to the production system itself.

Inventive Principle:
Principle #26Copying

3Productivity

If full deployment is performed without validation, then deployment speed increases, but cost of fixing errors increases

Engineering Contradiction:
Improvedeployment speedVSAvoiderror fixing cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

Validation tests are executed as a preliminary action before full deployment. This ensures that errors are identified and fixed in the development environment where fixing costs are lowest, rather than discovering errors after deployment when fixing costs increase significantly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The validation test provides feedback about potential errors in the application before deployment. This feedback mechanism allows the deployment process to be adjusted or corrected in advance, preventing costly error fixes in the production environment and maintaining efficient deployment practices.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8978015B2Self validating applications
Publication Date: 2015.03.10 RED HAT INC
  • US8978015B2 patent drawing
  • US8978015B2 patent drawing
  • US8978015B2 patent drawing

AI summary

An application server operating in a production environment receives an application for deployment. A test deployer in the application server determines whether the application includes a validation test. If the application includes a validation test, the test deployer performs an auxiliary deployment of the application and runs the validation test. If the validation test succeeds, the test deployer performs a full deployment of the application on the application server.