Current version Abiquo 4.0

Skip to end of metadata
Go to start of metadata

User's Guide. 7. Pricing

Abiquo has a flexible pricing system that is designed to enable cloud providers to supply estimates for cloud services. The pricing tab enables the administrator to assign costs to resources. This is done by creating Pricing Models. The administrator can then assign a pricing model to each tenant. The pricing model enables costs to be associated with compute, networking and storage resources. Costs can also be associated with specific virtual machine templates through a unique cost code that is tracked by the Abiquo Accounting Service. Charging periods and standing charges can also be defined. The Abiquo Billing Integration then gathers pricing and accounting data.

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
  • Currencies

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:

  1. Enter currencies
  2. Create cost codes
  3. Create the pricing model
  4. Assign the model to an enterprise

Pricing estimates

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.

Pricing is also available in the Abiquo API. See CurrencyResource, CostCodeResource, PricingTemplateResource, EnterpriseResource

Manage Currencies

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. 

Button Action
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.

Field

Description

Code

Standard currency code, for example EUR, USD, for display in the pricing tabs. Download information from the ISO website or refer to Wikipedia

Name

Unique name of the currency and the currency symbol

Digits

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:

  1. Before you create a pricing model, on the Cost Codes tab, create cost codes
  2. 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.

 

Button Action
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

Field

Description

Name

The name of the cost code, usually related to the virtual image name

Description

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.

Field

Description

Code

The currency code

Name

The currency name

Price

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

 

Button

Action

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. 

 

Field

Description

Name

The name of your pricing model. The name can represent a service level agreement

DescriptionDescription 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

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

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

Minimum charge

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

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 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.

Field

Description

Included in
Default message

%CHARGE_FORMATTED%

Variable to display the charge, for example "22.50 USD"

(tick)

%CHARGEPERIOD%

Variable to display the charging period, for example "month"

(tick)

%MINCHARGE_FORMATTED%

Variable to display the minimum charge, for example 2.25 USD

(tick)

%MINCHARGEPERIOD%

Variable to display the minimum charging period, for example "week"

(tick)
%VM_PRICES%

Variable to display a list of charges per virtual machine, for example:
VM1 1.25 USD
VM2 1.00 USD 

(error)

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.

Prices

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. 

Field

Description

Hypervisor Datastores GB

Price of hypervisor datastores per gigabyte. In public cloud regions, the platform does not use this value

VLANs

Price per VLAN (at least one VLAN is always created for each virtual datacenter)

Public IPs

Price per public 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 onPrice per virtual CPU core when virtual machine is powered ON
CPU offPrice 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 (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-AffinityPrice per VM deployed in anti-affinity layer. In public cloud regions, the platform does not use this value
FirewallPrice per firewall attached to VM
Load balancerPrice per loadbalancer attached to VM

The provider can configure billing by usage or allocation.

Datastore tiers

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.

Field

Description

Datacenter

Name of the Datacenter

Tier

Name of the datastore tier. Set in Infrastructure View in the Storage tab in the Edit Storage Tiers popup

Current Price

The current price of the datastore tier. The default is the default price set in the main Tiers popup

New Price

The price set for this datastore tier in this pricing model, in the currency of the pricing model

Persistent storage

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.

Field

Description

Name

Name of the Datacenter

Tier

Name of the storage tier. Set in Infrastructure View in the Storage tab in the Edit Storage Tiers popup

Current Price

The current price of the storage tier. The default is the default price set in the main Tiers popup

New Price

The price set for this storage tier in this pricing model, in the currency of the pricing model

Hardware profiles

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.

Field

Description

Name

Name of the Datacenter

Tier

Name of the hardware profile. Set in Infrastructure view. Go to the Hardware profiles tab then edit the hardware profile

Current Price

The current price of the hardware profile.

New Price

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.

Field

Description

Name

Name of the cost code. Set in the Cost code tab

Description

Description of the cost code. Set in the Cost code tab

Current Price

The current price of this cost code. The default is the default price set in the main Cost code tab

New Price

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

Reseller pricing

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. 

After they save the pricing model they can then assign it to their customers. Each customer administrator should only be able to display the pricing model for their tenant.
Labels
  • None