Configure Cost Models
Cost models control projected costs displayed throughout Commander, such as service catalog costs and deployed VM costs. Cost models are also used to help generate historical information in reports that can assist you in managing your virtual infrastructure resources. For more information, see Cost Models.
To create a new public cloud cost model, use an existing cost model as a template. Select a public cloud cost model in the list and click Copy.
Access: | Configuration > Costs |
Available to: | Commander Roles of Superuser and Enterprise Admin |
- Click the Cost Models tab.
- To create a cost model, click Add.
- In the Cost Model wizard, configure the required cost model information on each of the following pages:
Currency page
If you're editing the Default Private Cloud cost model, you can select the Currency to be used for costs in the Cost Model. Different parts of your infrastructure can use different cost models, and those can have different currencies. This wizard page only appears if you're editing the Default Private Cloud cost model.
Name and Targets pageThis page doesn't appear if you're editing a cost model for an unsupported public cloud or the Default Private Cloud cost model. You can't rename these cost models, and they don't have a target.
The Commander multi-tenant model allows you to target a cost configuration to a part of your infrastructure.
Enter a Name and select one or more Targets in your infrastructure. Don't assign the same cost model to both on-premise and off-premise targets. For more information, see On-premise and off-premise cost models.
Select the Currency to be used for costs in the Cost Model.
Depending on what part of your infrastructure you want to target, you can toggle between the Infrastructure view and the Applications view. A cost model applies to the Infrastructure view or the Applications view, not both.
Public cloud: Because the region can't be determined from the Applications view targets, we recommend that public cloud cost models always target the Infrastructure view.
Templates and images: If you use the Infrastructure view to assign a target, templates won't be covered by this cost model. Templates are covered by the Default Private Cloud cost model, unless another cost model has been applied to the Applications view. The more templates you have, therefore, the more significant the difference between the two views becomes.
If two cost models target the same VM, the following rules apply:
- The cost model nearer to the VM in the hierarchy is used.
- A cost model applied to the Infrastructure view always takes precedence over a cost model applied to the Applications view.
For more information, see Costs and the service catalog.
Resources pageOn-premise cost models: Enter yearly costs for Reserved and Allocated memory, and for Reserved and Allocated CPU.
Off-premise cost models: You can't set memory and CPU costs for a public cloud cost model. For more information, see On-premise and off-premise cost models and Calculate Projected Public Cloud Costs.
Reserved CPU and memory are resources that can only be accessed by one VM. Therefore they warrant higher costs than allocated CPU and memory, which may be accessed by all VMs.
Storage pageThis page appears only for on-premise cost models.
Commander allows you to track up to seven levels of tiered storage costs based on the different types of storage media you use. The cost you enter for each storage tier is per year per GB. The values you enter here are used to calculate and display the costs of VMs for reporting purposes.
- You can customize the labels of your storage tiers. For more information, see Storage tiers.
- For information on how to assign datastores to an appropriate storage tier, see Set Storage Tiers.
If required, change the storage tier defined as default by selecting Set As Default. The default storage tier can be changed when a VM is deployed.
Select one of the following to indicate how you want storage costs to be calculated:
- Provisioned Storage Sizes — Commander uses the provisioned storage size of the VM. This option includes the full allocated storage, regardless of whether the allocated storage is actually in use. For example, a VM with a primary disk of 10 GB, a secondary disk of 50 GB, a snapshot using 1 GB, and a memory swap file using 4 GB would generate a cost for 10 GB + 50 GB + 1 GB + 4 GB for a total of 65 GB. The storage value used in this calculation is represented by the Provisioned Disk Size property on the VM details page.
- Actual Storage Sizes — Commander uses the storage that the VM is using at the time of calculation. This option excludes any storage that has been allocated to the VM but isn't being used. For example, a VM with a primary disk of 10 GB where 5 GB is in use, a secondary disk of 50 GB where 20 GB is in use, a snapshot using 1 GB, and a memory swap file using 4 GB would generate a cost for 5 GB + 20 GB +1 GB + 4 GB for a total of 30 GB. The storage value used in this calculation is represented by the Used Disk Size property on the VM details page.
- Requested Storage Sizes — Commander uses the total storage size of all disks provisioned for the VM to calculate cost. This option excludes storage used for swap files, memory files, and VM snapshots. For example, a VM with a primary disk of 10 GB, a secondary disk of 50 GB, a snapshot using 1 GB, and a memory swap file using 4 GB would generate a cost for 10 GB + 50 GB for a total of 60 GB. The storage value used in this calculation is represented by the Physical Disk Size property on the VM details page.
Provisioned storage size is the default value displayed in storage tier usage. To display actual or requested storage size in storage tier usage, the system property
embotics.storage.pertier.calculationmethod
must be set toActual
to reflect actual storage size, orRequested
to reflect requested storage size.Operating System pageOn-premise cost models: Enter the yearly operating system costs. Commander detects the operating systems in use and adds them to the available selections. You can configure a global cost, costs for OS families, or costs for specific operating systems. If no cost is defined for a specific OS, Commander uses the cost for the OS family; if no OS family cost is defined, Commander uses the Global Default cost.
Off-premise cost models: You can't set Operating System costs for a public cloud cost model. For more information, see On-premise and off-premise cost models and Calculate Projected Public Cloud Costs.
Support pageEnter the yearly support costs. Commander detects the operating systems in use and adds them to the available selections. You can configure a global support cost, support costs for OS families, or support costs for specific operating systems. If no support cost is defined for a specific OS, Commander uses the support cost for the OS family; if no OS family support cost is defined, Commander uses the Global Default support cost.
Markups and Discounts pageTo adjust the costs displayed for cloud services, you can add percentage-based markups or discounts to cost models. Adding markups and discounts is useful to add margins for resale, cover shared costs such as IT support, or pass on discounts to users. Users will see the markedup/discounted costs throughout the Service Portal and in any emails to them that contain cost information.
To limit the period that each markedup/discounted cost will occur, you can specify markups and discounts for a specific period. Alternatively you can use "Never Expires" to retain the markup/discount indefinitely. If you change your mind later and want to set an expiry date, you can clear "Never Expires" and set an expiry date.
You can add markups and discounts for specific service SKUs (public cloud services only) or for service types (public and private cloud services). Each cost model has a Global Default, which can provide a default percentage markup/discount when more specific markups/discounts don't apply to a service.
Although you can add multiple markups and discounts to a cost model, only one cost markup/discount is applied to a service. Cost markups/discounts are applied in the following order depending on applicability:
- Service SKU
- Service Type
- Global Default
For example, when a public cloud service matches a Service SKU, only the markup/discount for that SKU is applied. Even if there is a match, service type markups/discounts aren't applied, and neither is the Global Default.
If you add markups or discounts to your costs, then Service Portal Recommendations, Quota, and Intelligent Placement calculations include costs that are markedup/discounted. Variables for markedup/discounted costs can be used in emails and workflows, so you can choose either original costs or markedup/discounted costs for actions like sending approval emails. For more information, see Variable Syntax for Emails and Scripts.
As an administrator, if you want to see the markedup/discounted costs in Commander's Cost Analytics, you can edit cost filters to show markedup/discounted costs. See Filtering cost analytics information. If you want to see the SKUs that are used for public cloud services, they're displayed in the Daily Cost Details table.
The Cloud Billing report allows you to show markedup/discounted costs, if you prefer. This option allows you to provide Service Portal users with only markedup/discounted prices, not the actual prices you pay. All other reports only use the original costs.
- SKU markups/discounts aren't accounted for in estimated forward-looking costs
- SKUs will only be retrieved from Version 8.1 and forward, unless billing records are retrieved. Create a case through the Snow Support Portal if you would like to perform this activity.
- The valid range for the percentage markup value is -100% to 100,000%.
- Global Default markups/discounts aren't applied to Additional Costs.
- You can configure the historical markup and trigger markup recalculation using the Commander API. For more information, see Commander API.
- Markups that are added in the Azure EA account website aren't reflected in Commander. Azure provides Commander with the original cost amount, not the marked-up cost.
To set a Global Default markup/discount:
- Select Add Markup/Discount > Global Default.
- In the Add Markup/Discount dialog, enter a positive percentage to add a markup or a negative percentage to add a discount.
- Optionally, provide a description for the Global Default markup/discount value.
Descriptions are for display purposes when configuring markups/discounts and won't be visible to users.
- Set a Start Date for the markup/discount period to begin.
- Either enable Never Expires, or set an End Date for the markup/discount period to end.
- Click OK.
To add a Service Type markup/discount:
- Select Add Markup/Discount > By Service Type.
- In the Add Markup/Discount dialog, specify the Service Type.
- Enter a positive percentage to add a markup or a negative percentage to add a discount.
- Optionally provide a description for the Service Type markup/discount value.
Descriptions are for display purposes when configuring markups/discounts and won't be visible to users.
- Set a Start Date for the markup/discount period to begin.
- Either enable Never Expires, or set an End Date for the markup/discount period to end.
- Click OK.
To add a Service SKU markup/discount:
- Select Add Markup/Discount > By Service SKU.
- In the Add Markup/Discount dialog, enter a name for the SKUs.
- In the Percentage field, enter a positive percentage to add a markup or a negative percentage to add a discount.
- In the SKUs field, enter the vendor-provided SKUs. To add multiple SKUs, use commas to separate each SKU.
For Azure, enter the Part Number instead of the SKU. These are valid for Azure enterprise subscriptions only, not for Azure standard account subscriptions.
- Set a Start Date for the markup/discount period to begin.
- Either enable Never Expires, or set an End Date for the markup/discount period to end.
- Click OK.
Additional Line Items pageUse this page to define and implement fixed monthly or calculated daily costs such as setup, operating costs, maintenance, or support fees. The calculated daily Line Item feature lets you define functions containing multiple parameters to generate formula-based cost items.
These custom charges will be included in the charts and tables in the Commander Cost Analytics and Service Portal Cost Dashboard pages. These charges will also show up in the Cloud Billing Report unless you choose to filter them out. They are generated as charges, starting on the start date that you specify.
For public cloud accounts, there's a two-day delay to view the reported charges.
To create Additional Line Items, you have to select top level cloud accounts in the Name and Targets page of the Cost Model wizard.
Additional Line Items won't be considered in Anomaly Detection or Cost Markup calculations.
Add a fixed monthly charge
To add a fixed monthly charge to the Additional Line Items page:
- On the Additional Line Items page of the Cost Model wizard, click Add Line Item and select Add Fixed Monthly Charge.
- In the Add Fixed Monthly Charge dialog, configure the following:
- Name — This is the name you'll use to identify this charge in the Cost Model wizard.
- Cloud Accounts — The charge you specify will appear in each selected account.
- Amount — This is the cost of the monthly charge in the currency you selected on the Name and Targets page. The amount should not include any currency symbols (for example, a dollar sign). This amount can be any positive or negative decimal number.
- Start Date — This is the first day the charge will occur. The date must be the current day or a future day. For public cloud accounts, there's a two-day delay to view the reported charges.
- Never Expires — Enable this checkbox if you don't want the charge to stop.
- Number of Months — The last charge will be this many months after the start date and includes the month of the start date. For example, if your start date is January 15 and you enter 5 months, the last charge will occur on May 15. If you enter a charge for the 31st day of a month, the charges will occur on the last day of any months with fewer than 31 days.
- Service Name — This is the display name for the service in costing pages and reports. For example, VM032, pvrepo, QA SQL 2017, and Automation RT1. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Service Type — You can use this field to define the cloud type and service that this charge represents. For example, Amazon CloudWatch, SQL Database, and VMware Virtual Machines. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Cost Category — This is the more general cost group for the charge. For example, CPU, Compute Instance, Data Transfer, Memory, Storage, System Operation, and Write Operations. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Click OK.
- Click Next or Finish to leave the Additional Line Items page.
Add a calculated daily charge
To add a calculated daily charge to the Additional Line Items page:
- On the Additional Line Items page of the Cost Model wizard, click Add Line Item and select Add Calculated Daily Charge.
- In the Add Calculated Daily Charge dialog, configure the following:
- Name — This is the name you'll use to identify this charge in the Cost Model wizard.
- Cloud Accounts — The charge you specify will appear in each selected account.
- Start Date — This is the first day the charge will occur. The date must be the current day or a future day. For public cloud accounts, there's a two-day delay to view the reported charges.
- Never Expires — Enable this checkbox if you don't want the charge to stop.
- End Date — The last day the Line Item is valid. A charge will be calculated for this last day. Expired Line Items can't be changed.
- Amount Formula — Define functions based on multiple parameters to compute specific cost items. Formulas can include Billing Tags. Examples:
- Service Name — This is the display name for the service in costing pages and reports. For example, VM032, pvrepo, QA SQL 2017, and Automation RT1. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Service Type — You can use this field to define the cloud type and service that this charge represents. For example, Amazon CloudWatch, SQL Database, and VMware Virtual Machines. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Cost Category — This is the more general cost group for the charge. For example, CPU, Compute Instance, Data Transfer, Memory, Storage, System Operation, and Write Operations. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
To make it easier to create complex formulas, click to open the Expression Assistant. Click Run Calculation to test your formula.
If you use markup costs, the formula will be run for both base costs and markup costs and the appropriate results will be displayed. If recorded costs change after formulas are processed, formulas will be re-evaluated to regenerate new custom costs. If no record exists for the charge specified in the formula, no Line Item will be created or displayed, but if the charge specified in the formula occurs at some point in the future, the Line Item will be calculated and displayed.
- Click OK.
- Click Next or Finish to leave the Additional Line Items page.
Both fixed monthly charges and calculated daily charges are displayed in the Additional Lines Items page.
Configure additional line items
You can Edit, Copy, and Remove Line Items using the Actions at the right side of the Additional Line Items page.
Edit — The only Edit permitted on a Line Item that's already running is to change the End Date.
Copy — Copying an existing calculated daily Line Item resets the Start Date in the copy to the current date.
Remove — If you remove a Line Item, the information it contains is retained in the system so it can be used if old billing data is retrieved.
Expired Line Items — Expired Line Items still appear on the Additional Line Items page with a note indicating that they've expired. They can be removed by clicking Remove in the Action menu beside the item or you can delete all expired Line Items by clicking Remove Expired Line Items.
Custom pageYou can configure a cost for any custom attribute in Commander. Once applied to a VM, that cost is added to the VM's nightly billing records, and is included in the Cloud Billing Report for private clouds. The cost is also added to the annual cost, which can be displayed in the Details section of the VM's Summary tab.
If you include a custom attribute on a service request form and if you configure the custom attribute with a cost, that cost is included in the Estimated Cost chart on the Request New Service form. Custom attributes that are assigned cost values by a cost model will use the currency that you selected for use by the cost model.
To set costs for custom attributes, select a custom attribute from the drop-down menu and click Configure. What you can do depends on the custom attribute type:
- Text-type attributes: Enable Add this attribute's value to VM's annual cost and click OK.
- List-type attributes: You can specify costs for list-type attributes in two ways. To specify fixed costs, select Custom Cost and specify the costs for each value in the list. To calculate a custom cost for each value, select Custom Calculation. See Calculate Custom Costs for an example.
To avoid format conflicts, we recommend that Text Type custom attributes used in cost models don't contain regular expressions. All custom attributes used in cost models are validated as positive numbers. Commander automatically validates costs (up to two decimal places) as whole numbers. To use regular expressions to validate the input for cost-based custom attributes, you must match this pattern to avoid validation failure. You must use a period as the decimal separator, not a comma.
For more information, see Work with Custom Attributes.
Apply custom attribute values to VMs with the Set Custom Attributes command. See also Apply inventory custom attribute values.
VM Uptime pageTo ensure accurate costs, Commander allows you to specify whether costs are calculated continuously or only when the VM is running. A VM's uptime is stored as a percentage in the nightly billing records.
- Public cloud VMs: If a VM is powered on or off in Commander or the Service Portal, then the uptime percentage is exact. If the VM's power state changes outside Commander, then the state change is retrieved during the regular polling cycle, but Commander is unable to obtain the time stamp, so the uptime percentage may not be exact.
- Upgrade note: Billing records created before the introduction of the VM Uptime feature are considered to have an uptime percentage of 100% for reporting purposes.
This setting affects costs shown for deployed VMs, as well as costs in the Cloud Billing report for private clouds.
Unlike when Commander calculates costs based on power state history, when cost predictions are made, the VM is assumed to always be running. This means that costs shown in service catalog entries, request details, service requests emails and landing pages always show costs for running VMs. Likewise, costs shown in rightsizing recommendations also show the cost for running VMs.
In the Default Private Cloud cost model, all costs are calculated continuously by default.
In AWS and Azure cost models, by default, VM instance costs (memory and CPU) are calculated only for running VMs, while storage, operating system and support costs are set to be calculated continuously.
In GCP cost models, by default, VM instance costs (memory and CPU) and OS costs are calculated only for running VMs, while storage and support costs are set to be calculated continuously.
If you configured custom attributes on the previous page of the wizard, you can also specify whether these custom attribute costs are calculated continuously or only while the VM is running.
To edit a cost model, select a cost model in the list and click Edit.
Delete cost models
You can delete any custom configured cost models.
It's not possible to delete any of the default cost models (Default Private Cloud, Amazon Web Services, Microsoft Azure or Google Cloud Platform).
After you delete a cost model, for VMs that had been assigned to the deleted cost model, the next cost model higher up the tree is applied. If no cost model is found, the Default Private Cloud cost model is applied.
If you delete a cost model target from your infrastructure, associated cost models aren't deleted.
Access: | Configuration > Costs |
Available to: | Commander Roles of Superuser and Enterprise Admin |
- Click the Cost Models tab.
- Select a listed cost model and click Delete.