Introduction to pricing
With Pricing, you can create pricing models to match service level agreements and assign them to your tenants and resellers. You can also onboard price lists from public cloud providers with pricing credentials and incorporate them into pricing models. Customers can obtain estimates for their virtual appliances from the pricing system. The platform's accounting system meters the resource usage of each tenant. The platform's billing system enables you to charge customers for all their cloud usage with one bill based on pricing and accounting. The platform also enables reseller pricing within a tenant hierarchy.
Privileges: Access Pricing view, Manage pricing
For each datacenter, you can set separate prices, and use different currencies, and you can set cost codes for resources, such as VM image templates.
The workflow to create a new pricing model is as follows:
Enter currencies
Create cost codes
Create the pricing model
Assign the model to an enterprise
Pricing is available in the Abiquo API. See CurrenciesResource, CostCodesResource, PricingTemplatesResource, EnterprisesResource
Display pricing models
To display pricing models, click the pricing button in the main menu. The pricing model of your enterprise has the text "(assigned pricing model)" after the Name.
The platform will list the pricing models that you can display based on your user scope.
To display the details of this pricing model, select it from the list, and click the pencil edit button.
You can only make changes to a pricing model if you have the same scope as the pricing model. The scope of the pricing model is the user scope of the creator of the pricing model.
Create a new currency
The platform supports multiple currencies.
Default currencies are euros, US dollars, and Japanese yen
You cannot delete a currency that is in use
You must always have at least one currency
Each pricing model uses only one currency
To add a new currency
Go to Pricing → Currencies
Click the + add button
Complete the dialog
The currency Code will display in pricing. Download code information from the ISO website or refer to Wikipedia
The Name of the currency must be unique and it can include the currency symbol
For Digits, enter the number of digits after the decimal point. If you change the pricing model from a currency with more digits to one with fewer digits, then the platform will round prices up to the nearest digit.
Click Save
Create a new cost code
You can use cost codes to set prices for resources or services, such as VM templates and hardware profiles. A pricing estimate for a virtual appliance will include cost of the cost code. The platform can also account and bill the usage of resources with cost codes.
To create a cost code for resource pricing:
Go to Pricing → Cost codes
Click the + add button
For General information:
Enter a Name to identify the cost code. You can use the Name and Description to identify the cost item to make it easier for your users to understand their cloud bill
Select the Type that is the resource type the cost code will apply to.
The Custom service option is not implemented in Abiquo 6.0.1.Select the Unit for the cost code:
The Subscription option is not implemented in Abiquo 6.0.1Usage CPUs will record the usage and multiply by the number of CPUs in a VM with the cost code
Usage user licenses for a template will record the usage and multiply by the number of licenses you enter when you add the cost code to a VM
For Initial prices
The initial prices for a resource are set now in all of the currencies in your platform. You can later assign different prices in each pricing model.
Now assign cost codes to VM templates (see Modify a VM template) and hardware profiles (see Hardware profiles). Then set prices for the cost codes in your pricing models. You can also assign cost codes to VMs, see Administer and troubleshoot VMs.
Note that you can override cost code prices for hardware profiles by setting prices for specific hardware profiles. Pricing and billing for dynamic hardware profiles will also use prices for CPU and RAM for the datacenter.
Create a new pricing model
To assign prices to resources for enterprises, create pricing models with prices for VM elements.
Before you begin:
Add your currencies at Pricing → Currencies
Pre-create cost codes at Pricing → Cost codes to assign to resources, for example, hardware profiles or templates
Privileges: Access pricing view, Manage prices, View datacenter details, Manage enterprises
To create a pricing model:
Go to Pricing → Pricing models
To create a new pricing model when there is none assigned to your enterprise, click +add; or
To clone a pricing model, click the copy clone button. The platform will name the new model "PricingModelName (c)".
Note: The platform will assign your user scope to the pricing model and only users with the same scope can edit the pricing model
If your enterprise already has a pricing model, the platform will base the new model on the existing model and enable you to apply a markup/discount to all prices. And you can set new resource prices using the existing prices as a guide.
Field | Description |
---|---|
Name | The name of your pricing model. The name can represent a service level agreement |
Description | Description of pricing model |
Change all resource prices | Only displays when the enterprise already has a pricing model assigned to it. Resellers can change all prices by adding this percentage. |
Charging period | Standard period of time by which a user will be charged, such as day, week, etc. Does not have to be equal to the minimum period |
Minimum charging period | Minimum period of time that a user will be charged for. This may be longer or shorter than the charging period. This value is not sent to the billing system. Note that the accounting system records the maximum usage value of a resource during an accounting period. |
Currency | The currency for this pricing model. Enter new currencies in the Currency tab before you create the pricing model |
Standing charge | Standing charge per Charging period. You can include this value in the pricing estimate message but the platform does not send it to the billing system |
Minimum charge | Minimum charge per Minimum charging period. You can include this value in the pricing estimate message but the platform does not send it to the billing system |
Show charges before deployment | Mark this checkbox to show a pricing estimate popup before deployment with the message entered in the box at the bottom of the window. See the explanation below |
Insert variable | Choose a variable from the pull-down list to add to the pricing estimate message. The variables are described in the table below |
Deployment message | Enter the estimate message for VM deployment, including variables. See Create a pricing estimate message |
Prices
You can enter general prices for datacenter resources.
Resource prices table
Field | Description |
---|---|
Currency | The currency for this location (datacenter or public cloud region) |
Hypervisor Datastores GB | Price of hypervisor datastores per gigabyte. In public cloud regions, the platform does not use this value |
Networks | Price per network. (The platform always creates a private network for each virtual datacenter) |
Public IPs | Price per public IP address reserved |
NAT IPs | Price per NAT IP address reserved |
CPU | Price per virtual CPU core for deployed virtual machines. If the location uses hardware profiles, pricing does not use this value. |
CPU on | Price per virtual CPU core when virtual machine is powered ON |
CPU off | Price per virtual CPU core when virtual machine is powered OFF |
Memory (GB) | Price of virtual memory in GB for deployed virtual machine. If the location uses hardware profiles, pricing does not use this value. |
Memory on | Price of virtual memory in GB when virtual machine is powered ON or OFF |
Virtual machine | Fee per VM in addition to charges for other VM items |
Virtual machine on | Fee per VM in addition to charges for other VM items |
Repository (GB) | Price of template repository use in GB for virtual machine templates. The platform does not include conversions. In public cloud regions, the platform does not use this value |
Anti-Affinity | Price per VM deployed in anti-affinity layer. In public cloud regions, the platform does not use this value |
Firewall | Price per firewall attached to VM |
Load balancer | Price per load balancer attached to VM |
The provider can configure billing by usage or allocation.
Datastore tiers
You can set prices for datastore tiers.
In a private cloud datacenter, datastore tiers set service levels for storage. See Manage datastore service levels with datastore tiers.
Persistent storage
In private cloud, you can set prices for the persistent storage tiers. In public cloud regions, the platform automatically imports the storage tiers from the providers so you can price them.
Hardware profiles
You can price hardware profiles in public cloud and in private cloud datacenters with hardware profiles, see Hardware profiles.
The platform can retrieve hardware profile costs from AWS and Azure. See Import hardware profile prices from AWS
In private cloud and VCD, you can also use cost codes for hardware profile pricing. Pricing and billing of dynamic hardware profiles also includes the usage cost of CPU and RAM.
Backup prices
In private cloud datacenters and VCD public cloud regions, you can set prices for backup policies.
When users request a pricing estimate for their virtual appliance, the platform will include the price of the backup policies of each VM.
The platform will also include the price of backup services in the VM_PRICES list.
The platform bills backups with a monthly fixed cost and/or a separate cost for VM disk size in GB (in the platform). For example, if a customer has a VM with 50 GB of hard disk and is using a daily backup policy. If the price for the backup policy is $20 and the price per GB is $1 per GB, the customer will pay $20 + (50 * $1) = $70 per month.
Cost code prices
This tab displays resources and cost codes with their initial prices. You can modify these prices in this new pricing model. The platform will display a warning symbol if you enter a discount of the price in the current pricing model.
Troubleshooting
Access to pricing models
When you create a pricing model, Abiquo automatically assigns the same scope as your user. The Abiquo UI does not display the scope of the pricing model
Users with pricing privileges can always display the pricing model of their own enterprise. Administrators who can switch to another enterprise can display the current pricing model of the enterprise, even if the pricing model has a different scope
To display or manage the pricing model of another enterprise in Pricing view, you must have the same scope as the creator of the pricing model
Display a pricing estimate message
To display pricing estimates, assign a pricing model to the enterprise. The platform will display the estimates as follows:
At any time users can click the Estimate button in the virtual appliance view to display a current pricing estimate for a VM.
Screenshot: Pricing estimate button with EUR price code
Screenshot: A sample pricing message
Users with access to the Abiquo API can also request a pricing estimate via the API.
To automatically display a pricing estimate popup when the user deploys a virtual appliance or VM, when creating a pricing model, select the checkbox to "Show charges before deployment".
Configure the pricing estimate message
The default text of the pricing estimate message is as follows.
The charge for this Virtual Appliance will be %CHARGE_FORMATTED% per %CHARGEPERIOD%, charged per %MINPERIOD%, subject to a minimum charge of %MINCHARGE_FORMATTED%. Backup service charge: %BACKUP_PRICE%. VMs in this Virtual Appliance will be:
%VM_PRICES%
Resources defined in the Virtual Datacenter total %VDC_TOTAL_CHARGE% per %CHARGEPERIOD%:
%VDC_PRICES%
Notes about the pricing estimate message:
The virtual appliance and VM pricing estimates only include the costs that are directly related to VMs.
The virtual datacenters resources estimate includes other costs such as the network cost, backup costs, and the cost of datastore disks without a datastore tier, such as a cloud-init ISO.
The VDC resources cost also includes public IP addresses because they are billed for the time of reservation, which may be longer than the time they are attached to a VM.
To customize the pricing estimate message:
Edit the message, change the text and use the standard cut and paste keys to change the location of the variables.
You can also select variables to add to this message from the pull-down list. Align the message with your accounting system.
Assign pricing models to enterprises
After you save a pricing model, to assign it to one or more tenants, do these steps:
Go to Pricing→ Pricing models
Click Enterprise associations
In the search boxes at the top of the enterprise lists, enter text from the enterprise name to filter and display the enteprise
Select the pricing model
The enterprise with the pricing model will move to the enterprises With pricing model panel.
Troubleshooting: If an expected pricing model does not display in the list, check that you are logged in with a user with the same scope as the user that created the pricing model.
You can also assign a pricing model to an enterprise when you edit the enterprise. See Assign a pricing model to an enterprise
Create reseller pricing models
Abiquo supports reseller pricing with pricing scope and default base prices per datacenter.
This feature is especially useful for private cloud pricing estimates and you can use it with private cloud usage data to display billing dashboards.
For public cloud reseller accounts, you can import price lists for hardware profiles into pricing models. Administrators can display the pricing model to view public cloud price lists.
To implement reseller pricing:
The reseller scope cannot be the unlimited global scope
Create pricing models with the base prices that resellers will pay for virtual resources
Assign a pricing model to each reseller enterprise
For details of how to create pricing models and assign them to customers, see Pricing view
To use reseller pricing:
Log in as the reseller administrator
Go to Pricing view. The reseller pricing model will display. You can edit the pricing model to view the prices but you cannot save changes, unless you have the same scope as the user that created the pricing model
Optionally create cost codes for reseller services. For more details, see Pricing view
To create customer pricing models, click the copy button to clone the reseller pricing model
Change the pricing model as required
For Change all resource prices, enter a percentatge to increase or decrease the base prices, such as reseller markup. For resource prices, the platform applies the percentage change (adding the percentage of the base price the reseller entered to the base price)
Go to Resource prices. Check the new prices or manually enter a new price for any resource. If you enter a price that is lower than the base price, Abiquo will highlight the price with red text.
For Hardware profiles you can onboard and synchronize the price lists of public cloud providers. See Synchronize public cloud price lists
Go to Cost code prices and optionally set prices for this tenant for reseller services
Save the pricing model
Assign the pricing model to customers. Each customer administrator should only be able to display the pricing model for their own tenant.
Related pages