Cloud Application Deployment via Phase Clustering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing, efficiently deploying applications on containers is challenging due to the need for accurate resource usage estimation, which often results in excessive resource allocation and costs, especially when dealing with diverse workloads and insufficient computing resources, making it difficult to balance performance and cost effectively.
Innovation Solution
A cloud application deployment method that analyzes and clusters resource usage data to classify execution phases, using machine learning models like CRBM and autoencoders to infer resource usage and set optimal container limits, thereby reducing waste and improving resource allocation efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If resource usage limit is estimated to be large to avoid abnormal end, then reliability is improved, but cloud resource usage efficiency deteriorates
Solution Approach 1:
The system performs preliminary clustering analysis on resource usage data to identify execution phases and determine appropriate resource limits before deploying applications, rather than using conservative over-provisioning. This allows setting optimal resource limits in advance that match actual needs, improving both reliability and efficiency.
Solution Approach 2:
The system uses historical resource usage data as feedback to continuously refine phase clustering models and improve resource limit predictions. By analyzing actual resource consumption patterns and updating the clustering model iteratively, the system learns to accurately predict resource needs without excessive allocation.
2Productivity
If resource usage limit is set based on past resource usage data, then productivity is improved, but measurement precision deteriorates
Solution Approach 1:
The system segments resource usage data into distinct execution phases through clustering analysis, identifying patterns such as data loading, processing, and output phases. By analyzing resource usage within each phase separately rather than using overall averages, the system achieves more precise resource limit predictions for different operational contexts.
Solution Approach 2:
The system transforms raw resource usage data into clustered phase labels and uses these transformed parameters to determine resource limits. By changing from direct statistical analysis of raw data to phase-based classification, the system captures non-linear resource consumption patterns and improves prediction accuracy.
3Measurement precision
If comprehensive testing is performed to accurately size application, then measurement precision is improved, but loss of time increases
Solution Approach 1:
The system creates a virtual model of resource usage patterns through phase clustering based on historical data, replacing the need for actual comprehensive testing. This copied behavioral model allows accurate resource sizing predictions without time-consuming physical tests, while maintaining measurement precision through pattern recognition.
4Measurement precision
If phase classification model is trained for each application, then measurement precision is improved, but device complexity increases
Solution Approach 1:
The system develops a universal phase clustering model that can classify execution phases across different applications by identifying common resource usage patterns. This multi-functional model serves multiple applications simultaneously, reducing the need for separate training while maintaining accuracy through transfer learning and pattern generalization.
Solution Approach 2:
The system merges resource usage data from multiple applications to train a unified phase clustering model, combining information to improve generalization. By pooling data and identifying common phases across different workloads, the system reduces individual model complexity while enhancing overall measurement precision through aggregated insights.
Data Source
AI summary
A phase classification model of a cloud application deployment device calculates a feature vector for each time period from resource usage data for each time period when an application is executed, clusters the feature vectors for each time period, and validates a result of the clustering to determine which phase the feature vector belongs to. Validation between a feature vector of a new application and a feature vector belonging to a cluster of a known phase is performed, and it is determined whether each time period belongs to the known phase or an unknown phase on the basis of a degree of the validation. The resource usage of a computer node for each phase is inferred, and application deployment is performed on the basis of an inference result.


