Using simulations to predict the growth of your resources
BMC Helix Capacity Optimization provides What-if simulation to predict the growth of your deployments based on the previous behavior or based on an expected increase in the usage of resources.
Use a What-if simulation to evaluate historical data, predict future behavior, and simulate scenarios by observing their time series. The simulations are built on existing data and analysis.
With a What-if simulation, you can achieve the following goals:
- Analyze business and IT capacity needs to ensure efficient use of your resources.
- Analyze performance problems by identifying bottlenecks and capacity issues.
- Develop the deployment and fulfillment plans that minimize risks and reduce cost.
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 Capacity 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.
Make sure that you select a forecasting period that has good historical data as this determines the reliability of the simulation result.
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.
You can also add an increase percentage in the simulation results page after reviewing the status of the deployments.
- 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 Error messages in What-if Simulation.
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.
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.|
In the example, the section displays the additional memory requested to avoid the saturation.
|4||You can view the detailed status of each deployment in the Deployments table. For details, see Reviewing the status of the deployments.|
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.
Can I edit or delete the changes?
Yes, you can view the changes that you added in the Changes section. If you are not satisfied with the simulation results, you can edit or delete the change. BMC Helix Capacity Optimization reruns the simulation for any changes within the selected forecast period.
The timeline indicates the updated changes. Hovering over the Change icon on the timeline highlights the corresponding change in the Changes section.
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.
|Name||Name of the deployment.|
|ID||ID of the deployment.|
|Max Pod||Maximum number of pods running in the deployment.|
Level of accuracy or reliability 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 reliability 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 Reliability level is computed, see Reliability 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.|
If the resource usage has already exceeded, it displays Saturated.
|Date of saturation||The estimated date when the resources of the deployment.|
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.|
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.
How can I access the saved What-if simulations?
From the left navigation pane of the Views tab, click What-if Simulation to view the saved simulations. Click the name of a simulation to view the details.
To create a copy of an existing simulation, open the simulation and click Save > Save as.
Can I share a What-if simulation?
Yes, you can copy the link of the what-if simulation result and email it. For example, if you want to share the results of the simulation with a Capacity Operator to inform about the changes to the resources.
Make sure that the recipient should have whatif_simulation_read permission to view the simulation. For details, see Default user roles and permissions.