Shadow Deployment Synchronization for Production Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for deploying new versions of computer applications to production environments often introduce errors due to unrecorded changes in the production environment, leading to inconsistent testing and potential failures, as they do not accurately reflect the current production environment.

Innovation Solution

A system that monitors production servers for changes and records them in a log file, allowing for a 'shadow role' deployment of new application versions in a production-like environment, where outputs are initially decoupled from production, allowing for thorough analysis and eventual coupling to production workflows after successful testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If new versions of computer applications are deployed directly to production environments, then deployment speed is improved, but the risk of introducing errors and causing failures increases

Engineering Contradiction:
Improvedeployment speedVSAvoidapplication reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements a shadow deployment mechanism where a shadow instance of the new application version is deployed and activated in advance before full production deployment. This shadow instance runs in parallel with the current production version, allowing preliminary testing and validation in a production-like environment. The shadow instance can be activated or deactivated as needed, providing a safety mechanism that allows fast deployment while maintaining reliability through gradual validation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If thorough testing is conducted in a test environment before production deployment, then application reliability is improved, but the accuracy of testing decreases because the test environment does not reflect actual production conditions

Engineering Contradiction:
Improveapplication reliabilityVSAvoidtesting accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent creates a shadow instance with specific local qualities that match the production environment exactly. The shadow instance runs on a shadow server that mirrors the production server's configuration, software versions, and operational parameters. This localized replication of production conditions in a specific environment allows thorough testing while maintaining high testing accuracy, as the shadow environment faithfully reproduces actual production conditions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent creates a copy of the production environment by deploying a shadow instance on a shadow server that mirrors the production server's configuration. This copy includes the same operating system, software versions, and runtime environment as production. By copying the production environment rather than using a generic test environment, the system achieves both thorough testing and high testing accuracy.

Inventive Principle:
Principle #26Copying

3Measurement precision

If a shadow instance is deployed and activated in the production environment for testing, then testing accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvetesting accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The shadow instance is designed to be self-managing in many ways. It automatically starts up with the production instance and can be independently controlled. The shadow instance serves itself by running the new application version in isolation, allowing testing without requiring extensive manual configuration or management overhead. This self-service capability reduces the operational complexity despite the additional system component.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The shadow instance implementation is dynamic and flexible. The shadow instance can be activated or deactivated as needed based on testing requirements. The system allows dynamic adjustment of the shadow instance's operational state, enabling or disabling it without system downtime. This dynamic capability allows the system to adapt to different testing scenarios while managing complexity through on-demand activation rather than permanent dual-running configurations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11288175B1Software production load and software test load synchronization feedback system
Publication Date: 2022.03.29 T MOBILE INNOVATIONS LLC
  • US11288175B1 patent drawing
  • US11288175B1 patent drawing
  • US11288175B1 patent drawing

AI summary

A method of testing production server applications. The method comprises monitoring a production server that is executing a first version of a production application by an agent application executing on the production server, recording changes made on the production server by the agent application in a reporting file on the production server, launching a test application on a test server, wherein the test application is associated with a second version of the production application, in response to launching the test application, reading the reporting file by a script executing on the test server, determining by the script that changes were made on the production server based on reading the reporting file, and sending by the script a notification about the changes made on the production server, whereby a tester testing the second version of the production application is made aware of changes that have been made on the production server.