Multi-Cluster Application Deployment via Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-cloud/hybrid-cloud computing environments, applications often fail to deploy successfully on managed computing clusters due to insufficient resources, leading to inefficient resource utilization and increased costs, as existing solutions require manual intervention or result in low resource utilization and cloud bursting.
Innovation Solution
A method where information about an application's resource requirements is sent to multiple managed computing clusters, predicting deployment results are received, and if a single cluster cannot deploy all functions, the application is split and deployed across at least two clusters, optimizing resource utilization and avoiding unnecessary resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an application is deployed on a single managed computing cluster, then deployment simplicity is maintained, but resource utilization is insufficient and deployment fails when resources are inadequate
Solution Approach 1:
The patent segments the application into multiple independent functions or microservices that can be deployed separately across different computing clusters. Instead of treating the application as a monolithic unit that must deploy entirely to one cluster, the system divides it into deployable units that can be distributed, allowing the application to function across multiple clusters when a single cluster cannot accommodate all resources
Solution Approach 2:
The patent combines multiple managed computing clusters into a unified deployment environment. By merging the capabilities of multiple clusters, the system creates a pooled resource environment that can accommodate applications requiring more resources than any single cluster provides, while maintaining coordinated deployment management
2Productivity
If manual intervention is used to handle deployment failures, then deployment control is precise, but operational efficiency decreases and costs increase
Solution Approach 1:
The patent implements self-service deployment mechanisms where the system automatically detects resource insufficiency, selects appropriate target clusters, and deploys application functions without human intervention. The deployment system serves itself by making intelligent decisions about resource allocation and cluster selection based on real-time cluster status and application requirements
Solution Approach 2:
The patent incorporates feedback loops where the deployment system continuously monitors cluster resource status, receives feedback on deployment outcomes, and uses this information to make real-time decisions about subsequent deployment actions. This feedback mechanism ensures accurate resource allocation while maintaining automation, as the system learns from deployment results to optimize future decisions
3Reliability
If cloud bursting is used to handle resource shortages, then application availability is maintained, but costs increase and resource control is reduced
Solution Approach 1:
The patent performs preliminary actions by pre-configuring multiple managed computing clusters as potential deployment targets before resource shortages occur. The system maintains a pool of ready-to-deploy clusters with known resource capacities, allowing it to quickly allocate applications to appropriate clusters based on real-time needs without resorting to expensive cloud bursting or emergency resource procurement
Data Source
AI summary
Embodiments of the present disclosure relate to application deployment in a multi-cluster environment. In an embodiment, a computer-implemented method is disclosed. According to the method, first information about a resource requirement of an application is sent to a plurality of managed computing clusters. A plurality of predicted deployment results are received from the plurality of managed computing clusters, which indicate whether the application is to be partially or fully and successfully deployed on the plurality of managed computing clusters. In accordance with a determination, from the plurality of predicted deployment results, that a plurality of functions of the application fail to be deployed on a single managed computing cluster, at least two managed computing clusters are selected from the plurality of managed computing clusters and the application is deployed on the at least two managed computing clusters. In other embodiments, a system and a computer program product are disclosed.


