Automated Application Deployment via Descriptor Parsing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional computing platforms require significant time and effort from administrators to manually configure and deploy web applications, which are prone to errors and do not adapt well to changes in services, leading to inefficiencies in managing complex application deployments.

Innovation Solution

A Platform-as-a-Service (PaaS) computing platform that automatically configures, deploys, and manages applications and their support components using an application descriptor, which can specify capabilities, node placement, and connections, enabling automated setup and adaptation to changing demands without additional user input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual configuration and deployment is used, then administrators can control the deployment process, but the process is time-consuming and error-prone

Engineering Contradiction:
Improvedeployment accuracyVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service deployment by allowing the platform to automatically interpret the application descriptor, resolve dependencies, allocate resources, and configure components without requiring administrator intervention. The platform serves itself by autonomously executing the deployment process based on the declarative specification.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The application descriptor contains pre-defined configuration information, dependency declarations, and deployment specifications that are prepared in advance. This preliminary action allows the system to automatically execute the deployment process without requiring real-time administrator decisions or manual configuration steps.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If manual configuration is used, then administrators can customize the deployment, but the process is complex and error-prone

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoiddeployment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The deployment configuration is segmented into distinct components within the application descriptor, including dependency declarations, resource allocation specifications, and component configuration parameters. This segmentation allows the complex deployment process to be broken down into manageable, automatically-resolved segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The platform introduces an intermediary layer between the administrator and the deployment infrastructure. This intermediary automatically interprets the high-level application descriptor and translates it into detailed deployment actions, eliminating the need for administrators to directly manage complex infrastructure configurations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If manual reconfiguration is used when services change, then the application can be adapted to new services, but the process is time-consuming

Engineering Contradiction:
Improveservice adaptation capabilityVSAvoidreconfiguration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system implements feedback mechanisms where the platform monitors service changes and automatically triggers reconfiguration processes. When services change, the platform receives feedback about the new service state and automatically updates the application configuration without requiring manual intervention, thus maintaining adaptability while reducing reconfiguration time.

Inventive Principle:
Principle #23Feedback

4Productivity

If automated deployment is used, then deployment speed increases, but the system complexity increases

Engineering Contradiction:
Improvedeployment speedVSAvoidplatform complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The platform achieves universality by providing a single, unified mechanism for handling all deployment tasks - from dependency resolution and resource allocation to configuration and scaling. This multi-functional approach consolidates complexity into a single platform layer rather than requiring multiple specialized systems, thereby enabling automated deployment without proportionally increasing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9170797B2Automated deployment of an application in a computing platform
Publication Date: 2015.10.27 RED HAT INC
  • US9170797B2 patent drawing
  • US9170797B2 patent drawing
  • US9170797B2 patent drawing

AI summary

A platform executing on a computer system configures an application and components that provide capabilities to the application based on an application descriptor of the application, the application and the components to be run on a plurality of nodes of the platform that are arranged in a cluster. The platform assigns a first set of the components to run on a first node of the plurality of nodes and a second set of on the components to run on a second node of the plurality of nodes. The platform installs the first set of the components on the first node and the second set of the components on the second node.