User's Guide. 7. Pricing
- Introduction to Pricing
- Manage Currencies
- Manage Cost Codes
- Manage Pricing Models
- Manage Enterprise Associations
- Reseller pricing
Abiquo 4.0.2 introduces pricing for hardware profiles in private and public cloud. See #Hardware profiles
Introduction to Pricing
With Abiquo pricing, you can create pricing models to match service level agreements and assign them to your tenants and resellers. For each datacenter, you can set separate prices, and use different currencies, and you can set cost codes for virtual machine image templates. Create your pricing models in Pricing view, after you create and assign any supporting currencies and cost codes. Abiquo controls pricing with scopes as well as privileges to enable reseller pricing.
Workflow to manage pricing
If you have the appropriate privileges, click the icon to access Pricing view. In sequential order, the four tabs in this view are:
- Pricing models
- Enterprise association
- Cost codes
The Pricing Model tab is displayed first, because it shows the information that will be most often consulted. However, the tabs are explained here in the order that you will need to work with them when you first create a pricing model.
The workflow to create a new pricing model is:
- Enter currencies
- Create cost codes
- Create the pricing model
- Assign the model to an enterprise
When the enterprise has a pricing model, Abiquo will display pricing estimates:
- When the user clicks the Estimate button in the virtual appliance view to obtain the current pricing estimate
- When the user deploys the virtual appliance, Abiquo will display a popup pricing estimate if the Administrator selects the option to show charges before deployment when configuring the pricing model
- When the user requests a pricing estimate through the API
The administrator can customize the estimate message and include pricing system variables. The default text is "The charge for this Virtual Appliance will be %CHARGE_FORMATTED% %CHARGEPERIOD%, subject to a minimum charge of %MINCHARGE_FORMATTED% %MINPERIOD%".
The administrator can also add a cost breakdown by VM using the %VM_PRICES% variable.
The pricing estimate only includes the costs that are directly related to virtual machines; it does not include the VLAN cost or the standing charge or the cost of datastore disks without a datastore tier, such as cloud-init ISO. Public IP addresses are billed from the time of reservation, but the estimate for a virtual machine will not include the time before deployment.
Use the Currencies tab to manage the currencies in the pricing system. The default currencies are euros, US dollars and Japanese yen. You may delete currencies but one currency must always remain in the system; this does not have to be a default currency.
Click the header line to sort the currencies by ascending or descending order of the currency code or currency name.
Add new currencies before you create a pricing model.
|Create a new Currency|
|Remove an existing Currency|
|Edit the selected Currency|
Add a New Currency
Open the currency tab and click the button to add a new currency.
Unique name of the currency and the currency symbol
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 prices will be rounded up to the nearest digit.
Delete or Edit a Currency
Before you delete a currency, check that it is not in use in any pricing models, because you cannot delete a currency that is in use.
To delete or edit a currency, first select the currency. Then from the options menu, select edit or delete.
Manage Cost Codes
Abiquo uses cost codes for pricing and accounting of virtual machine templates.
To implement image pricing:
- Before you create a pricing model, on the Cost Codes tab, create cost codes
- In Appliance Library view, assign cost codes to your virtual machine templates (one per template). Later on the Pricing models tab, you will enter image prices
The pricing estimate popup will include the image cost when users in enterprises with a pricing model assigned deploy a virtual machine using a template with a cost code.
|Create a new Cost Codes|
|Remove an existing Cost Codes|
|Edit the selected Cost Codes|
Open the Cost Code tab and click the plus button to add a new cost code.
Cost Codes General Information
The name of the cost code, usually related to the virtual image name
Description of the cost code, usually related to the virtual image description
Cost Codes Default Prices
Set the default prices for a virtual machine template in all of your currencies. You can later change these prices in a specific pricing model on the Image Prices tab.
The currency code
The currency name
The price in the currency given in this row
Manage Pricing Models
On the Pricing models tab, you can create pricing models by entering prices for the virtual machine elements. You can clone an existing pricing model to create a new one.
Before creating the pricing model:
- To use a currency that is not one of the defaults (US dollars, euros, Japanese yen), add the currency on the Pricing View#Currencies Tab.
- To use cost codes for virtual machine templates, first create a cost code on the Pricing View#Cost Codes Tab, and when convenient, assign it to the image in Apps library view.
Abiquo controls pricing models with scopes as well as privileges:
- When you create a pricing model, Abiquo automatically assigns the same scope as your user role
- 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 greater scope
- To display or manage the pricing model of another enterprise in Pricing view, your scope must be greater than or equal to the scope of the pricing model
Create a new pricing model
Remove an existing pricing model
Edit the selected pricing model
Make a clone copy of this pricing model. It will be called PricingModelName (c)
To create a new pricing model, click the add button .
Pricing Models General Information
Complete this tab first if you have all the information. You must enter all the required fields on this tab and the other tabs before you save the pricing model.
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. See below
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
The currency for this pricing model. Enter new currencies in the Currency tab before you create the pricing model
Standing charge per Charging period
Minimum charge per Minimum charging period set in the left column of this form
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
Choose a variable from the pull-down list to add to the pricing estimate message. The variables are described in the table below
Enter the estimate message for VM deployment, including variables. See Pricing Estimate Message below
Pricing Estimate Message
Abiquo can display a pricing estimate message. The default message is:
The charge for this Virtual Appliance will be %CHARGE_FORMATTED% per %CHARGEPERIOD%, subject to a minimum charge of %MINCHARGE_FORMATTED% per %MINPERIOD%.
To customize the pricing estimate message, edit the message 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.
|Included in |
Variable to display the charge, for example "22.50 USD"
Variable to display the charging period, for example "month"
Variable to display the minimum charge, for example 2.25 USD
Variable to display the minimum charging period, for example "week"
Variable to display a list of charges per virtual machine, for example:
At any time users can click the Estimate button in the virtual appliance view to display a current pricing estimate for a virtual machine. If the user does not have pricing privileges, the platform will display the default '$' dollar symbol. Or if the user can retrieve the tenant's pricing model, the platform will display this currency code.
Users with access to the Abiquo API can also request a pricing estimate via the API.
In addition, when the administrator selected the checkbox to "Show charges before deployment", the pricing estimate popup is shown when the user deploys a virtual appliance.
Resource prices per location
You can set pricing models per private cloud datacenter or public cloud region. When you create the first pricing model for a locaton in a currency, Abiquo will use the prices set as the base prices for the datacenter. When you create a new pricing model, Abiquo will copy the base prices for each pricing element and modify the prices by the percentage you enter. Then if you enter a price that is lower than the base price, it will be marked in red or marked with a warning symbol.
This tab displays all the elements in a datacenter (with separate tabs for datastore and storage tiers) or public cloud region. The default for each field is the price set for the enterprise's existing pricing model in this datacenter with your percentage increment applied.
For the selected cloud location (public or private cloud), you can set prices for the following elements.
Hypervisor Datastores GB
Price of hypervisor datastores per gigabyte. In public cloud regions, the platform does not use this value
Price per VLAN (at least one VLAN is always created for each virtual datacenter)
Price per public IP address reserved
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|
Price of virtual memory in GB for deployed virtual machine. If the location uses hardware profiles, pricing does not use this value.
|Memory on (GB)||Price of virtual memory in GB when virtual machine is powered ON|
|Memory off (GB)||Price of virtual memory in GB when virtual machine is powered OFF|
|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 loadbalancer attached to VM|
The provider can configure billing by usage or allocation.
In a private cloud datacenter, datastore tiers set service levels for storage, so different datastores can be assigned to different tiers. You can manage datastore tiers in Infrastructure view (See Manage Datastore Service Levels with Datastore Tiers). This tab displays the current price and you can enter a new price for each tier.
For the selected private datacenter, you can set prices for each datastore tier.
Name of the Datacenter
Name of the datastore tier. Set in Infrastructure View in the Storage tab in the Edit Storage Tiers popup
The current price of the datastore tier. The default is the default price set in the main Tiers popup
The price set for this datastore tier in this pricing model, in the currency of the pricing model
In a private cloud datacenter, persistent storage tiers set service levels for storage, so different storage devices can be assigned to different tiers. You can edit the storage tier details in the Datacenter Storage tab. This tab displays the current price and you can enter a new price for each tier.
For the selected private datacenter, you can set prices for each storage tier.
Name of the Datacenter
Name of the storage tier. Set in Infrastructure View in the Storage tab in the Edit Storage Tiers popup
The current price of the storage tier. The default is the default price set in the main Tiers popup
The price set for this storage tier in this pricing model, in the currency of the pricing model
In public cloud and in private cloud datacenters where hardware profiles are enabled, users can work with hardware profiles to select the appropriate combinations of CPU and RAM for their virtual machines. You can edit hardware profiles in Infrastructure view on the Hardware profiles tab. This tab displays the current price and you can enter a new price for each hardware profile.
For the selected private datacenter, you can set prices for each storage tier.
Name of the Datacenter
Name of the hardware profile. Set in Infrastructure view. Go to the Hardware profiles tab then edit the hardware profile
The current price of the hardware profile.
The price set for this hardware profile in this pricing model, in the currency of the pricing model
Cost Code Prices
This tab displays all of the images as set in the main cost code tab, with their current price. The default for this field is the default price set in the main cost code tab. You can set a new price for a cost code in this tab only, but you cannot modify the other cost code details.
Name of the cost code. Set in the Cost code tab
Description of the cost code. Set in the Cost code tab
The current price of this cost code. The default is the default price set in the main Cost code tab
The price set for this image in this pricing model, in the currency of the pricing model. If you enter a price that is lower than the current price, the platform will display a warning symbol
Manage Enterprise Associations
In the Enterprise Associations tab you can associate a pricing model with each enterprise. This tab displays a list of pricing models and two panes of enterprises. The default display is all pricing models and all enterprises.
Click on a pricing model to display the enterprises with this pricing model assigned in the left pane and the enterprises without it in the right pane.
To assign a new pricing model to an enterprise:
- Select a pricing model from the pull-down list next to an enterprise name to assign the current pricing model to this enterprise.
To remove a pricing model from an enterprise:
- Select a new pricing model from the pull-down list next to an enterprise to replace this pricing model or select "None" to remove this pricing model from an enterprise without replacing it. The enterprise will now move from the left enterprise pane to the right enterprise pane for this pricing model.
You can also assign or remove a pricing model from an enterprise when you create or edit the enterprise. See Manage Enterprises
Abiquo 3.10 supports reseller pricing with pricing scope and default base prices per datacenter.
Create reseller pricing models
The first step for a provider to implement reseller pricing is to create a pricing model and assign it to each reseller.. When the reseller first opens the Pricing view, they will see the pricing model that you created. This pricing model should contain the base prices that they will pay for virtual resources. They can then create customer pricing models using this pricing model as the base.
This documentation assumes that each of your resellers will have a scope that includes all of their customers and not the unlimited global scope
Pricing scope access controls
Abiquo controls access to pricing models with scope, according to these rules
- When a user creates a pricing model, Abiquo automatically assigns the user's tenant scope. This scope cannot be changed
- Abiquo only allows users with the same tenant scope (who can administer exactly the same customers) to manage the user's pricing models
- All users with pricing privileges can view the pricing model assigned to their own tenant
Reseller pricing markups
When a reseller creates a pricing model for their customers, Abiquo will use the base prices from the reseller's pricing model, and then the reseller can enter a percentage to increase or decrease the base prices.
For resource prices, Abiquo loads the existing prices and then applies the percentage change (adding the percentage of the base price they entered to the base price). They can accept the new prices or manually enter a new price for any resource. If they enter a price that is lower than the base price, Abiquo will highlight the price with red text.