Distributed Deployment Manifest for Cloud Application Orchestration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current deployment tools for multi-tier applications in cloud computing environments are inefficient due to reliance on custom scripts, high network bandwidth usage, and lack of automation, leading to challenges in collaboration between developers and system administrators for determining deployment requirements.
Innovation Solution
A deployment system that allows developers to create application blueprints defining the structure and dependencies of applications, generating portable deployment plans that are executed by virtual machines with a centralized deployment module ensuring tasks are executed in the correct order, leveraging standardized infrastructure components and default configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional deployment tools with centralized mechanisms are used, then deployment coordination is achieved, but network bandwidth is excessively consumed and resource contention occurs at the central point
Solution Approach 1:
The patent segments the centralized deployment process into distributed deployment units, where each virtual machine or container independently executes deployment tasks based on a deployment manifest. This eliminates the need for continuous centralized polling and reduces network bandwidth consumption while maintaining deployment coordination through the manifest-based approach.
Solution Approach 2:
The patent introduces a deployment manifest as an intermediary that contains pre-defined deployment instructions, dependencies, and configurations. This manifest serves as a mediator between the deployment system and target environments, enabling coordinated deployment without requiring continuous centralized communication or polling.
2Adaptability or versatility
If custom scripts and property files are used for deployment, then deployment flexibility is achieved, but device complexity and ease of operation deteriorate
Solution Approach 1:
The patent creates a universal deployment manifest format that can handle multiple deployment scenarios, application types, and target environments through a single standardized structure. This manifest serves multiple functions including defining deployment steps, specifying dependencies, configuring resources, and managing rollbacks, thereby reducing the need for multiple custom scripts and tools.
Solution Approach 2:
The patent uses parameter-based configurations within the deployment manifest to maintain flexibility across different deployment scenarios. By defining deployable units with configurable parameters for resources, dependencies, and execution settings, the system achieves adaptability without requiring complex custom scripts for each scenario.
3Reliability
If continuous polling is used to check readiness for execution, then task coordination is achieved, but network bandwidth consumption increases
Solution Approach 1:
The patent performs preliminary actions by pre-defining deployment tasks, their dependencies, and execution conditions in the deployment manifest before actual deployment begins. This allows the system to determine task readiness and coordination requirements in advance, eliminating the need for continuous polling during deployment execution.
Solution Approach 2:
The deployment manifest acts as an intermediary that encapsulates all coordination logic, dependency relationships, and execution conditions. This manifest-based approach replaces continuous polling with a static definition that guides the deployment process, reducing network bandwidth consumption while maintaining task coordination.
4Ease of operation
If developers and system administrators use different views of application deployment, then各自的专业需求得到满足, but collaboration difficulty increases
Solution Approach 1:
The deployment manifest serves as a universal artifact that satisfies both developer and system administrator needs. For developers, it provides a structured way to define application deployment requirements, dependencies, and configurations. For system administrators, it offers a standardized format for resource allocation and deployment execution, thereby facilitating collaboration without increasing complexity.
Data Source
AI summary
A deployment system orchestrates execution of deployment plan in coordination with nodes participating in deployment of a multi-tier application in a cloud infrastructure. The deployment system distributes local deployment plans to each node and maintains a centralized state of deployment time dependencies between tasks in different local deployment plans. Prior to execution of each task, deployment agents executing on each node communicates with the centralized deployment system to check whether any deployment time dependencies need to be resolved. Additionally, the deployment system utilizes a node task timer that triggers a heartbeat mechanism for monitoring failure of deployment agents.


