Predicting the growth of your resources by using simulations

BMC Helix Continuous Optimization provides What-if simulation to predict the growth of your Kubernetes Controller 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

  1. From the navigation pane of the Views tab, click Views > Containers > Kubernetes.
  2. In the Controllers tab, select the controllers for which you want to predict the growth.
  3. Click What-if simulation.

  4. 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.

    Make sure that you select a forecasting period that has good historical data as this determines the confidence 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.

  5. To predict the growth of resources based on an expected increase in future, click Increase percentage
  6. 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.

  7. 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. 

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.


LabelDescription
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. 

2The Changes section shows the change requests that impacted the simulation.
3You 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. 
4You 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.


Can I add an additional resource growth that I expect in future?

Yes, within the selected forecast period, you can add the planned increase the resources (in percentage) and review the saturation level in the timeline. Click Add increase percentage and specify the expected increase and the date.

For example, if you have a planned hardware upgrade, increased memory, or addition of a new tenant on a specific date in future.

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:

  1. Click Add change. You can view how many pods, CPU, and memory resources are active. 
  2. 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.
      1. Enter the number of pods to add to the deployment.
      2. 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.
      1. Enter the additional CPU or memory resources that you want to request. 
      2. Select a date on which to add the resources.
  3. 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 Continuous 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. 

ColumnDescription

Displays the chart for resource utilization of the deployment.
NameName of the deployment.
IDID of the deployment.
Max PodMaximum 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 saturateEstimated 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 saturationThe 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. RequestCPU usage expressed as a percentage at the end of the simulation, scaled based on the total CPU request of the deployment.
CPU Used vs. LimitCPU usage expressed as a percentage, scaled based on the total CPU limit of the deployment.
Used mCoresCPU usage (in mCores) at the end of the forecast period.
Request mCoresCPU requested (in mCores) at the end of the forecast period.
Limit mCoresCPU limit (in mCores) at the end of the forecast period.
Memory at end
Memory Used vs. RequestMemory usage expressed as a percentage, scaled based on the total memory request of the deployment.
Memory Used vs. LimitMemory usage expressed as a percentage, scaled based on the total memory limit of the deployment.
Used GBMemory usage (in GB) at the end of the forecast period.
Limit GBMemory limit (in GB) at the end of the forecast period.
Request GBMemory requested (in GB) at the end of the forecast period.
CPU Days to saturationThe estimated days before the CPU runs out of the available capacity.
Memory Days to saturationThe 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.

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.

To edit the name of a simulation, hover over the name of the simulation and click . Enter a new name and description.

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.

Was this page helpful? Yes No Submitting... Thank you

Comments