ON THIS PAGE
Chargeback
Contrail Insights Chargeback calculates a cost for use of compute, network, and storage resources. The price of each resource is configurable by an administrator. Chargeback relies on two concepts of organization: project and departments.
Project |
A project is a collection of instances. A project is a technical organizational unit, often defined by a cloud management system. For example, in OpenStack, a project (formerly called tenant) is the means by which users share a quota of resource allocation and a collection of virtual machines, virtual networks, and storage volumes. |
Department |
A department is a business organizational unit defined in Contrail Insights because the technical organization provided by project may not map directly to business groups in an organization. An administrator can assign the cost accrued by a project to one or more departments, on a percentage basis. |
Contrail Insights generates monthly invoices for each department. A monthly invoice shows total cost charged to a department. The total cost is the sum of a department's share of the cost of each project. In the Contrail Insights Dashboard, a user may view a monthly invoice that displays detailed breakdown of cost based on compute, network, storage, and other resources. Figure 1 shows resource consumption by department.
In addition to monthly invoices, the month-to-date cost and projected cost for the current month are displayed in the Cost Manager tab of the Chargeback page. Figure 2 shows an example of the Cost Manager tab details.
See the following topics for information about configuring chargeback costs.
Configure Departmental Shared Costs
The costs accrued by a project may be charged to one or more departments. When multiple departments share the financial cost of a project, an administrator can split the cost of a project among multiple departments.
To configure the percentage of project cost, select Settings > Chargeback > Departments. The Departments table displays each department, as shown in Figure 4. Click a department name to show or hide the department details that display the percentage of per-project cost that will be charged to the department.
There is a default department called Unallocated Costs which accrues costs for any project that has not been assigned to any department. Figure 3 shows the default department unallocated costs.
To add a new department:
-
Click Add Department and type a name for the new department.
-
Click Add.
The new department appears in the Department table.
To configure the list of projects assigned to a department:
-
Select the pencil icon to edit a department.
A department configuration box appears following the Departments table, as shown in Figure 4.
Figure 4: Configure Projects Assigned to DepartmentsProject column Lists each project for which the department accrues cost.
Ownership (%) column Indicates the percentage of a project's cost that is assigned to the department being configured. The ownership percentage value can be edited.
Unallocated (%) column Indicates the percent of a project's cost that is not allocated to any department.
-
To add a project to the table, select the project in the Select Project drop-down list and click Add.
-
After editing the department configuration, click Configure to save changes.
-
(Optional) To cancel changes without saving, click the x icon in the Edit column of the Departments table.
Configure Rates Charged by Using the Rate Card
The rate charged for resources is configured in the rate card. Figure 5 shows the resource hourly rate card per flavor by active, suspended, or allocated rates.
To configure the rate charged for resources:
-
Select Settings > Chargeback > Rate Card.
-
Select a tab for a resource type to display and to configure the rate card for that resource. The descriptions of the tabs are as follows:
Current Shows the current rate card and the date that the rate went into effect.
History Shows previous rate cards for a resource type, organized as a list by the effective date of the past rate card.
New Rate Card Allows you to configure a new rate card for a resource.
Effective Date Shows the month and year when the new rate card will start being used. The effective date must be later than the currently configured rate card.
-
Select Save to save your changes.
Configure Compute Costs
Compute cost is charged by the hour that an instance is in one of the following states: active, suspended, or allocated. The compute cost is based on the amount of compute resources (CPU, memory, local storage) that is allocated (statically) for an instance on a host. The hourly rate is configured for each flavor type.
Instance states are defined as follows:
Active |
An instance is running on a compute host. Corresponding OpenStack state is Active. |
Suspended |
An instance has been paused or suspended. Runtime state of such an instance has been preserved in memory or on disk. Compute resources assigned to such an instance are still allocated on a compute host. Corresponding OpenStack states are Paused, Suspended. |
Allocated |
An instance is stopped or shut off. Runtime state of such an instance has not been preserved, but its disk image is still present on a compute host. The compute resources assigned to such an instance are still allocated on a compute host. Corresponding OpenStack states are Shutoff, Stopped. |
To configure compute costs:
-
Select Settings > Chargeback > Rate Card.
-
Select the Compute tab to display and to configure the price for each flavor type and instance states.
The Current tab displays the rate card that is active. Select the New Rate Card tab to configure a new rate card. Figure 6 shows the Compute tab with the active rates.
Configure Network Interface Costs
An instance can be charged an hourly cost for the use of network interfaces attached to the instance. Contrail Insights discovers the list of network interfaces from the cloud management system, such as Nova in OpenStack.
Network interface costs can be charged for active, suspended, and allocated instances. Figure 7 shows a network interface rate card with active, suspended, and allocated instances hourly rates.
To configure network interface costs:
-
Select Settings > Chargeback > Rate Card.
-
Select the NetworkInterface tab to display and to configure the price for each instance state.
Figure 7: Network Interface Rate Card with Active, Suspended, and Allocated Hourly Rates
Configure Network Resource Costs
Network resources that can be charged are virtual networks, virtual subnets, floating IP addresses, and data transfers. To configure network resource prices, select the Network tab.
- Virtual Network
- Virtual Network Subnet
- Floating IP Addresses
- Network Data Transfer
- Example: Network Data Transfer
Virtual Network
A virtual network allocated to a project is charged on an hourly basis, as shown in Figure 8.
Virtual Network Subnet
A virtual network subnet allocated to a project is charged on an hourly basis. Figure 9 shows an example.
Floating IP Addresses
Each floating IP address is charged on a hourly basis for allocation of the IP address. The rate is expressed as cost per hour ($/hour) per IP address. Figure 10 shows an example of an allocated rate for each floating IP address.
Network Data Transfer
Network data transfer cost is calculated according to a progressive, tiered pricing model on a per instance basis. Charges are calculated in gigabyte units of data transmitted by an instance (egress bytes). Data transfer amount is always rounded up to the next whole gigabyte. There is no charge for data received by an instance (ingress bytes).
An administrator creates price tiers by clicking Add Tier. See Figure 11. The first tier starts from 0 GB. Each subsequent tier starts on the first gigabyte after the previous tier, and ends at a user-specified byte count. The final rate tier applies to all data transfer amounts that exceed the second-to-last tier. Figure 11 shows a network data transfer rate card with allocated rates by gigabyte ranges.
Example: Network Data Transfer
In Figure 11, three tiers are configured: 0-100 GB, 100-1000 GB, and 1000+ GB. Suppose an instance transmits 399.4 GB of data during a billing period. The data transfer cost is calculated for 400 GB of data as follows: 100 GB * $0.50/GB + 300 GB * $0.30/GB = $140.
Configure Load Balancer Costs
Contrail Insights discovers the list of configured Load Balancers from the cloud management system, such as Octavia in OpenStack. A load balancer is charged on an hourly basis if it is in one of the following states: active or allocated. These states are defined as follows:
-
Active—Provisional status of
loadbalancer
is ACTIVE. -
Allocated—Provisional status of
loadbalancer
is one of: PENDING_CREATE, PENDING_UPDATE, PENDING_DELETE.
To configure load balancer costs:
-
Select Settings > Chargeback > Rate Card.
-
Select the LoadBalancer tab to display and to configure the price for each load balancer state.
Figure 12: Load Balancer Rate Card with Active and Allocated Hourly Rates
Configure Storage Costs
Storage cost is calculated using a progressive, tiered pricing model on a per project basis. Storage cost is charged to a project hourly for the total volume storage allocated by a project. If a project allocates a 500 GB volume, but consumes only 100 GB in that volume, then the project is charged for the entire 500 GB allocation. Figure 13 shows the Storage tab.
A rate card may be configured for each storage type. The storage types are discovered by Contrail Insights from the cloud management system (such as, Cinder in OpenStack). Figure 13 shows a storage rate card with allocated rates by gigabyte ranges.
To configure storage prices:
-
Select Settings > Chargeback > Rate Card, then select the Storage tab.
-
Select the Storage Type for which the rate card applies.
-
Click +Add Tier to add a new storage tier.
Specify the end size in gigabytes and the cost per gigabyte in the tier.
-
Click Save to save the rate card.
Example: Storage
Consider a rate card in which three tiers are configured: 0-10 GB, 10-100 GB, and 100+ GB. Suppose a project allocates a 25 GB volume for 10 hours, and subsequently allocates an additional 200 GB volume for 20 hours.
For each of the first 10 hours, the project is charged for 25 GB, calculated as follows:
(10 GB * $0.40/GB/hour) + (15 GB * $0.30/GB/hour) = $8.50/hour
For each of the next 20 hours, the project is charged for 225 GB, calculated as follows:
(10 GB * $0.40/GB/hour) + (90 GB * $0.30/GB/hour) + (125 GB * $0.10/GB/hour) = $43.50/hour
In total, for the 30 hours, the project is charged: $8.50 * 10 + $43.50 * 20 = $955.
Configure OS License Rates
Each instance can be charged an OS license cost to use a particular OS image to boot the instance. The OS license cost is assigned to each disk image that might be used to create an instance. Contrail Insights discovers the list of images from the cloud management system, such as Glance in OpenStack.
OS license cost can be charged both on a hourly basis and as a one-time cost. The Allocated Rate is a cost per hour that is accounted for each hour that an instance is provisioned with a particular image. The One-Time Cost is charged each time that an instance is created that uses a particular image. Figure 14 shows an OS license rate card with allocated hourly rates and one-time cost per image used.
Configure SNAT Logical Routers Network Data Transfer Costs
Starting with Contrail Insights Release 3.3.5, you can configure SNAT logical routers network data transfer costs. Logical routers are OpenStack resources that are associated with an OpenStack project. Contrail Insights collects network metrics for Source Network Address Translation (SNAT) logical routers and charge per tenant basis. Similar to network data transfer, the cost for configuring SNAT logical router is calculated as per a tiered pricing model.
Charges are applied by calculating the units of gigabyte (GB) of data transferred by an SNAT logical router (egress bytes) between the start and end timestamps of the chargeback report. The units of data transferred is always rounded up to the next whole GB. There is no charge levied for data received by the instance (ingress bytes).
Consider the following example. An administrator creates a price tier by clicking + Add Tier as shown in Figure 16. The first tier or range starts with 0 GB. Every subsequent tier starts with the first GB following the previous tier and ends at the user-specified byte count. The final tier rate applies to all data transfer amounts that exceed the second-to-last tier. Once completed, you click Save and Apply to apply the new rates.
Follow these steps to configure SNAT logical router data transfer costs.
-
Click Settings as shown in Figure 15.
The Appformix Settings page is displayed.
Figure 15: Click Settings to view Appformix Settings page -
Click Chargeback on the Appformix Settings pane.
The Rate Card page is displayed.
-
Click the SNAT Logical Router Network Data Transfer tab and then the New Rate Card tab.
-
From the New Rate Card view, click + Add Tier as shown in Figure 16.
You can add more than one range by clicking + Add Tier, and allocate a price range for each range that you add.
Figure 16: View SNAT Logical Router Network Data Transfer Rate Card -
After you have added the required range(s), click Save and Apply to save and apply the new rate card.
The new rate card is now applied.
Monitoring Cost of Service Instances
Starting with Contrail Insights Release 3.3.7, you can configure and monitor costs of service instances.
Follow these steps to configure and to monitor costs of service instances:
-
Click the hamburger button and click Settings.
The Appformix Settings page is displayed.
-
Click Chargeback on the Appformix Settings page.
The Rate Card page is displayed.
-
Click the ServiceInstance tab and then the New Rate Card tab.
- Enter the following information:
-
From the Effective Date drop-down lists, select month from the first drop down, and select year from the next drop down.
The effective date determines when the new rate card will come in to effect.
-
Enter the active rate charge in the Active Rate($/Hour) column.
-
Enter no charge rate in the Nocharge Rate ($/Hour) column.
-
-
Do any one of the following:
- Click Save as Draft to save the new rate card as draft.
- Click Save and Apply to save and immediately apply the rate card.
Change History Table
Feature support is determined by the platform and release you are using. Use Feature Explorer to determine if a feature is supported on your platform.