Using simulations to predict the growth of your resources
Creating a What-if simulation
- From the navigation pane of the Views tab, click Views > Containers > Kubernetes.
- In the Controllers tab, select the controllers for which you want to predict the growth.
- Click What-if simulation.
Enter a number of months to specify the period for which you want to generate the forecast or you can use the slider to indicate the period for which you want to forecast. You can forecast for a maximum period of 18 months.
For the selected deployments, by default, BMC Helix Continuous Optimization predicts the natural growth of the resources for the selected forecasting period based on the historical values. For example, based on the memory usage between August 2020 to December 2020, you can predict the memory utilization for the first two months of 2021.If you are not expecting any increase in your resource, you can go ahead and simulate the growth of the resources in the selected forecasting period.
- To predict the growth of resources based on an expected increase in future, click Increase percentage.
Enter the expected increase (in percentage) and the date on which the increase is expected.
For example, after 2 months, you want to increase the CPU availability to support an increasing demand. For this, you can specify the expected percentage increase and the date. You can view the simulation results and determine whether you want to increase the CPU limit to meet the demand.- Click Simulate.
The forecast is generated based on the actual data in the time series. The results help you plan the addition of resources on time.
Viewing the simulation results
When you simulate the growth, you can view the status of the selected deployments in the forecast period. If one or more deployments are not included in the simulation or results in an error, a warning is displayed. For details, see Troubleshooting-What-if-Simulation-issues.
The Overview section displays the forecast period on a color-coded timeline and indicates when the saturation will occur. Depending on the forecast period selected, the timeline is divided into equal-length time slots. The color indicates the status of the selected deployments. From the time slot where one of the resources is nearing saturation or is saturated, the timeline turns red. You can add new resources and change the result.
A complete green timeline indicates that there is no risk of saturation for any of the selected deployments. You can proceed with the resources allocated.
Label | Description |
---|---|
1 | To view the defined expected growth percentage and the date, click the Increase percentage icon on the timeline. When you hover over the Change icon on the timeline, it highlights the corresponding change in the Changes section. |
2 | The Changes section shows the change requests that impacted the simulation. |
3 | You can view a summary of the resources for which the simulation is generated in the Resources required section. It displays the total capacity of all the deployments. |
4 | You can view the detailed status of each deployment in the Deployments table. |
5 | To view the deployment that is nearing saturation, see the Deployments table at the end of the Simulation page. To increase the resources of a deployment that is nearing saturation, click Change in the corresponding row. |
Scaling your deployment to avoid the risk of saturation
Based on your business needs, you can scale your deployment by adding more pods (vertical scaling) or by adding CPU and memory resources (horizontal scaling) to avoid the risk of saturation. For example, if the resources will be saturated in September, you can add resources before the date of saturation and simulate the growth.
To scale your deployment:
- Click Add change. You can view how many pods, CPU, and memory resources are active.
- Select the deployment for which you want to change the resources. For a selected deployment, you can use either add additional pods or add CPU and memory resources to a single pod.
Or, you can click Change on the corresponding row for which you want to increase resources.- The Scale-out section displays the current pods in the selected deployment.
- Enter the number of pods to add to the deployment.
- Select a date on which to add new pods to the deployment.
- The Scale-up section displays the current requested CPU and Memory in a single pod instance.
- Enter the additional CPU or memory resources that you want to request.
- Select a date on which to add the resources.
- The Scale-out section displays the current pods in the selected deployment.
- Click OK.
After scaling the deployment, the forecast is rerun. Notice that the saturation is moved to a later date or it is avoided.
The Resources Required section highlights the additional capacity that you added to the current configuration.
Viewing the simulation results after changes
After reviewing the simulation results, you can add new changes or update existing change until you are get the desired results. Once you are satisfied with the new addition to the resources, you can save the simulation.
Viewing the status of each deployment
The Deployments table shows the following information for each deployment. By default, some columns are hidden. Click Visible columns and select the columns that you want to display.
Column | Description |
---|---|
Displays the chart for resource utilization of the deployment. | |
Name | Name of the deployment. |
ID | ID of the deployment. |
Max Pod | Maximum number of pods running in the deployment. |
Confidence | Level of accuracy or confidence of the prediction. Use this indicator to decide whether to trust the forecast results. The values indicate a level of Low, Medium, or High. For example, if the forecasting period is short, the forecast confidence could be inaccurate (Medium). Due to small values, the results could be biased and lead to false or poor results. For details about how the confidence level is computed, see Confidence-levels-of-What-if-simulation. |
Days to saturate | Estimated number of days before one of the resources (CPU or Memory) of the deployment reaches the maximum capacity. |
Date of saturation | The estimated date when the resources of the deployment. |
Bottleneck | A resource that is currently limiting the deployment. For example, Memory, CPU. When there are no bottlenecks to the deployment, the column displays No bottleneck. |
CPU at end | |
CPU Used vs. Request | CPU usage expressed as a percentage at the end of the simulation, scaled based on the total CPU request of the deployment. |
CPU Used vs. Limit | CPU usage expressed as a percentage, scaled based on the total CPU limit of the deployment. |
Used mCores | CPU usage (in mCores) at the end of the forecast period. |
Request mCores | CPU requested (in mCores) at the end of the forecast period. |
Limit mCores | CPU limit (in mCores) at the end of the forecast period. |
Memory at end | |
Memory Used vs. Request | Memory usage expressed as a percentage, scaled based on the total memory request of the deployment. |
Memory Used vs. Limit | Memory usage expressed as a percentage, scaled based on the total memory limit of the deployment. |
Used GB | Memory usage (in GB) at the end of the forecast period. |
Limit GB | Memory limit (in GB) at the end of the forecast period. |
Request GB | Memory requested (in GB) at the end of the forecast period. |
CPU Days to saturation | The estimated days before the CPU runs out of the available capacity. |
Memory Days to saturation | The estimated days before the memory runs out of the available capacity. |
Viewing charts for CPU and Memory usage
To view the details of CPU and memory utilization for the selected forecasting period, click the icon () in the first column of the deployment table.
The position, color of the lines in the chart indicate the status of the resources. View the chart and identify when the resource is nearing saturation. After you identify the problem, you can drill down into details, analyze it further, and take necessary actions.
When you hover your mouse in the chart, values for the data points are displayed in the data tips. To print the chart, or to download it in different formats, click Export.
Saving a What-if Simulation
If you are satisfied with the results of the What-if Simulation, you can save and use it for future reference.