Cloud Application Deployment Agent with Script Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing applications face challenges in deployment, including failed deployment processes, resource wastage, differing operating system requirements, and managing data dependencies between servers, necessitating an automated, reliable, and replicable deployment method.

Innovation Solution

A system and method for deploying cloud-based applications by electronically receiving deployment requests, assigning unique identifiers, selecting servers, installing agent programs, and executing script commands for installation and configuration, while managing resource allocation and data dependencies through script, event, and logging queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If deployment processes are manually managed, then flexibility in handling different operating systems and software utilities is improved, but reliability and replicability of deployment fail

Engineering Contradiction:
Improvedeployment reliabilityVSAvoiddeployment system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The deployment system performs self-service by automatically selecting servers, installing agent programs, executing installation commands, and managing configuration without manual intervention. The system autonomously handles deployment failures, restarts processes, and ensures idempotency, thereby improving reliability while maintaining controlled complexity through automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes deployment parameters by dynamically adjusting installation commands, configuration settings, and resource allocation based on target server characteristics. It modifies deployment behavior to adapt to different operating systems and software environments, ensuring reliable deployment across diverse platforms without requiring manual reconfiguration.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If more computing resources are provisioned, then scalability and performance of cloud applications are improved, but resource wastage increases

Engineering Contradiction:
Improveapplication performanceVSAvoidresource wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The deployment system implements dynamic resource provisioning by continuously monitoring server capacity, application performance metrics, and workload demands. It dynamically allocates and deallocates computing resources based on actual needs, ensuring high application performance while minimizing resource wastage through adaptive resource management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring deployment outcomes, resource utilization metrics, and application performance data. It uses this feedback to optimize resource allocation, scaling up when performance demands increase and scaling down when resources are underutilized, thereby balancing productivity improvement with resource efficiency.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If deployment is performed on multiple servers, then scalability is improved, but management of data dependencies and bindings between servers becomes complex

Engineering Contradiction:
Improvedeployment scalabilityVSAvoidserver dependency management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The deployment system introduces an intermediary layer that abstracts and manages data dependencies between servers. This intermediary component tracks bindings, coordinates data flow, and handles inter-server communications, enabling scalable multi-server deployment while simplifying dependency management through centralized control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the deployment management into independent, modular components that can be individually configured and managed. By dividing the complex multi-server deployment into discrete, manageable units with clearly defined interfaces and dependencies, it achieves scalability while reducing overall system complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

4Reliability

If deployment processes are restarted after failure, then deployment completion is improved, but data loss may occur if not handled gracefully

Engineering Contradiction:
Improvedeployment completion rateVSAvoiddata loss risk
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The deployment system implements beforehand cushioning by preparing rollback mechanisms, backup configurations, and idempotency safeguards before deployment failures occur. These preventive measures ensure that when restarts are necessary, data integrity is maintained and no information is lost during the recovery process.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The system performs preliminary actions by pre-configuring deployment states, validating installation commands, and ensuring idempotency before execution. These preliminary checks and preparations prevent data loss during restarts by ensuring that subsequent deployment attempts can safely resume or repeat operations without corrupting or losing data.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10216503B2Deploying, monitoring, and controlling multiple components of an application
Publication Date: 2019.02.26 ELASTICBOX
  • US10216503B2 patent drawing
  • US10216503B2 patent drawing
  • US10216503B2 patent drawing

AI summary

A request to deploy a cloud-based application is received, and a unique identifier is assigned thereto. A server is selected and an agent program is installed thereon. A script queue stores a plurality of commands for the installation and configuration of the application, and the commands are sent to the agent for execution on the server, the execution of the commands causing installation and configuration of the application on the server.