AppFormix 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.
AppFormix 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 AppFormix 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.Project 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 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 have been allocated (statically) for an instance on a host. The hourly rate is configured for each flavor type.
Instance states are defined as follows:
To configure compute costs:
- Select Settings > Chargeback > Rate Card.
- Select the Compute tab to display and 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 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.
A virtual network allocated to a project is charged on an hourly basis, as shown in Figure 7.
Virtual Network Subnet
A virtual network subnet allocated to a project is charged on an hourly basis. Figure 8 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 9 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 units of gigabyte 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 10. 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 10 shows a network data transfer rate card with allocated rates by gigabyte ranges.
Example: Network Data Transfer
In Figure 10, 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:
* $0.50/GB + 300 GB * $0.30/GB = $140.
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 11 shows the Storage tab.
A rate card may be configured for each storage type. The storage types are discovered by AppFormix from the cloud management system (such as, Cinder in OpenStack). Figure 11 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.
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. AppFormix 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 12 shows an OS license rate card with allocated hourly rates and one-time cost per image used.