Cloud Stress Testing With ML Resource Projection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Stress testing cloud services is time-consuming and labor-intensive, and can pose risks to other services hosted by the cloud provider, requiring extensive provisioning and deployment across various hardware configurations.
Innovation Solution
A projection framework using a trained machine learning model extrapolates resource configurations based on stress testing results, reducing the need for extensive manual testing by predicting optimal resource allocations for cloud services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If stress testing is performed by provisioning resources and pushing them beyond normal operating conditions, then performance data can be collected, but the process becomes time-consuming and labor-intensive
Solution Approach 1:
The system performs preliminary stress testing on a subset of worker nodes to collect performance data before full-scale deployment. This preliminary action allows the machine learning model to be trained with real stress test data, enabling accurate predictions that eliminate the need for extensive manual stress testing across all nodes.
Solution Approach 2:
The system uses machine learning models to create virtual copies of stress test results by predicting performance outcomes for worker nodes based on data from a smaller subset of actual stress tests. This copying approach allows the system to estimate performance characteristics without physically performing exhaustive stress tests on every node.
2Reliability
If stress testing pushes resources beyond normal operating conditions, then performance limits can be identified, but risks are posed to other services hosted by the cloud provider
Solution Approach 1:
The system segments the worker node pool into testing and production groups, isolating stress tests to specific nodes. This segmentation allows performance limits to be identified through controlled testing while preventing harmful effects from propagating to production services. The machine learning model then extrapolates results from the segmented test group to the entire population.
Solution Approach 2:
The machine learning model acts as an intermediary between stress test results and deployment decisions. It processes performance data from controlled stress tests and generates predictions that guide resource allocation, eliminating the need to directly push production resources beyond normal operating conditions while still identifying performance limits.
3Reliability
If extensive provisioning is performed across various hardware configurations for stress testing, then comprehensive performance data can be collected, but the process becomes labor-intensive
Solution Approach 1:
The system changes the approach from physical provisioning across multiple hardware configurations to virtual parameter exploration through machine learning. The model takes hardware configuration parameters as input and predicts performance outcomes, eliminating the need for manual provisioning and testing across each configuration while still achieving comprehensive performance understanding.
4Measurement precision
If manual stress testing is performed on each cloud service, then service-specific performance characteristics can be identified, but the process becomes time-consuming
Solution Approach 1:
The system implements self-service performance characterization where the machine learning model automatically analyzes stress test data and generates performance predictions for each service. This eliminates manual testing efforts while maintaining service-specific precision, as the model learns service-specific patterns from the data and applies them to generate accurate predictions.
Data Source
AI summary
Techniques disclosed herein can include receiving an instruction to perform a stress test on one or more cloud computing resources of a cloud computing system. Worker nodes of the cloud computing system can be provisioned by a resource manager to perform the stress test on the cloud computing resources. The resource manager can instruct the one or more worker nodes of the cloud computing system to perform the stress test. Data generated by the worker nodes during the stress test can be received by the resource manager and used to train a projection framework comprising a trained machine learning model. The projection framework can generate a resource projection and the projection can be used to provision cloud computing resources to host the cloud service.


