Infrastructure Change Tracking for Code Deployment Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of distributed computing systems, particularly in virtualized environments, leads to challenges in correlating infrastructure changes between development and production environments, resulting in inefficiencies during code deployment and updates.

Innovation Solution

A system that tracks and generates infrastructure update templates based on logged changes during code development and deployment, allowing for selective application of changes to ensure consistent infrastructure configurations across environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed computing and virtualization are used to improve computational efficiency and flexibility, then computational efficiency and resource control are improved, but system complexity and difficulty in correlating infrastructure changes increase

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by automatically tracking and logging infrastructure changes during code development in the development environment before production deployment. This creates a record of infrastructure modifications that can be reviewed and selectively applied to production, preventing unexpected infrastructure discrepancies and reducing the complexity of manual infrastructure correlation.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If infrastructure changes are made in development environment to support code updates, then code functionality is improved, but infrastructure consistency between development and production environments deteriorates

Engineering Contradiction:
Improvecode functionalityVSAvoidinfrastructure consistency
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The system implements feedback by continuously monitoring and logging infrastructure changes in the development environment, then providing this information back to developers for review. This feedback loop enables developers to understand what infrastructure modifications their code changes require, allowing them to make informed decisions about which changes to apply to production, thus maintaining infrastructure consistency while enabling code adaptability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary mechanism (the change tracking and logging system) between code development and production infrastructure deployment. This intermediary captures infrastructure changes, presents them for review, and enables selective application to production, thereby mediating between the need for infrastructure adaptability in development and the need for stability in production.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If manual infrastructure updates are performed to match development environment changes in production, then infrastructure alignment is improved, but deployment time and manual effort increase

Engineering Contradiction:
Improveinfrastructure alignmentVSAvoiddeployment time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system enables self-service by automatically tracking, logging, and preparing infrastructure change information without requiring manual intervention. The automated tracking of infrastructure modifications during code development eliminates the need for manual infrastructure updates in production, as the system self-documented all necessary changes for review and selective application, thereby reducing both manual effort and deployment time.

Inventive Principle:
Principle #25Self-service

4Ease of operation

If infrastructure changes are not tracked and correlated between environments, then development flexibility is maintained, but deployment reliability and correctness deteriorate

Engineering Contradiction:
Improvedevelopment flexibilityVSAvoiddeployment reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary tracking and logging of infrastructure changes during the development phase, creating a comprehensive record before production deployment. This preliminary action ensures that all infrastructure modifications are captured and can be reviewed for correctness, thereby maintaining development flexibility while improving deployment reliability through informed decision-making.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10564987B1Efficient infrastructure updates for executable code development
Publication Date: 2020.02.18 AMAZON TECH INC
  • US10564987B1 patent drawing
  • US10564987B1 patent drawing
  • US10564987B1 patent drawing

AI summary

A system, such as a system of a computing resource service provider, tracks infrastructure-level changes to execution environments caused by or otherwise associated with activity associated with executable code. In one embodiment, the activity is associated with development and/or testing of the executable code, and a monitoring service generates a log of changes to the associated infrastructure caused by the activity over a designated period of time. The log of changes is used to generate a template that in turn causes configuration of a target execution environment in accordance with the monitored changes.