Abiquo Documentation Cookies Policy

Our Documentation website uses cookies to improve your experience. Please visit our Cookie Policy page for more information about cookies and how we use them.


Abiquo 4.6

Skip to end of metadata
Go to start of metadata

 This document walks through the features that support resellers on the Abiquo multicloud platform and describes the easy steps to set up a reseller hierarchy in the platform.

Reseller features

The Abiquo platform has multicloud features to support resellers and their customers in both private and public cloud (Azure CSP and Amazon resellers in the APN).

Reseller hierarchy

A reseller hierarchy will usually be under the platform owner level. The two main levels are resellers and customers, and then customers may have further levels, for example, departments. 

So an example of a complete platform hierarchy could be:

  • Platform owner → resellers → customers → departments.

Diagram:  an example of a reseller hierarchy.

Abiquo resellers can work with all supported private and public cloud providers, and there are several features specifically designed for Amazon and Azure partners.

Reseller whitelabelling

The Abiquo UI is HTML5 and you can easily brand it with CSS themes. There are two main branding elements: the login pages and the tenant themes.

On the login page you can brand the logo and watermark. 

For each tenant, you can add a logo, main menu icons, a custom color scheme, and more.

And for the browser tabs, you can brand the favicon.

For more details, see Abiquo Branding Guide

Managed services with VDC roles

The platform supports managed services for virtual datacenters with virtual datacenter roles (VDC roles). A VDC role replaces the user’s role within one or more virtual datacenters.

The administrator can set a default for provider, or a region, and update specific virtual datacenters with custom roles. For example, AWS virtual datacenters could always be read only, because a VIEWER role replaces a USER role.

This feature applies to cloud users only, not administrators, and it is also possible to create exceptions for specific users.

See Set a VDC role to limit user access and Set a default role to limit tenant access to VDCs in a provider or location.

Managed services with restricted VApps

Abiquo also supports managed services at the VM level with restricted virtual appliances. Use cases for this feature could be to enable users to outsource their VMs to the provider or to provide datacenter services. This feature works with the Move VM functionality. Any user with the privilege to Restrict a VM can move a VM to a restricted VApp, even if they cannot manage or view the restricted VApp. 
So in this case, the user could simply mark a checkbox to outsource a VM. Whereas the administrator can select or create the virtual appliance.
A restricted VApp is invisible to the cloud user but it is still part of the VDC with access to VDC resources, the administrator can manage it as usual, and it is accounted in the platform as part of the tenant's resources.

Hybrid billing dashboard

The Hybrid billing dashboard displays billing data from public cloud, for Azure and Amazon, and it also supports the addition of custom billing data via API. It displays the latest bills, estimated bills, and average cost per VM. The administrator can configure the dashboard to display data for reseller and partner accounts and their customers, as well as for customers who wish to use accounts that were obtained directly from the provider. The platform controls the display of the hybrid billing dashboard with privileges. This feature requires the reseller or tenant to configure programmatic billing in the provider. 

Screenshot: Details of the latest bills

Screenshot: Estimated bill

 Click here to show/hide more screenshots

Screenshot: Average cost per virtual machine

Screenshot: Latest bills



Import price lists

The platform can retrieve price lists from public cloud providers (Amazon and Azure). These prices are for Linux VMs without any applications installed. You can later manually edit these prices, which are updated every 24 hours by default. This feature supports synchronizes price lists for customers of resellers (with markup) and standard customers. The prices are imported into Abiquo pricing models.


Administrators will need to add credentials with access to pricing for public cloud accounts for either resellers or standard customers.

See Synchronize public cloud price lists.

Cost usage reports by VM hours

This feature imports recent accounting data for access via the Abiquo API. And it can provide detailed reports for all levels of the hierarchy by VM usage in hours. The administrator can filter these reports by entities, e.g. reseller, customer of reseller, etc. So for example, a reseller can supply reports to their customers, and even the departments of the customer. The platform can also support bulk pricing for ranges of VMs per reseller.

 Click here to show/hide example report data

The following example shows the data for a sample report.

{
    "usageStartTime" : "2019/08/01 00:00:00 +0000",
    "usageEndTime" : "2019/08/31 23:59:59 +0000",
    "resellerCode" : "codeResellerB",
    "keyNodeName" : "keyNodeB1",
    "enterpriseId" : 3,
    "enterpriseName" : "Enterprise B11",
    "internalCustomerId" : "contractKeyNodeB1",
    "provider" : "priv2",
    "vmProviderId" : "priv2",
    "hours" : 48,
    "priceFirstInterval" : 3.00000,
    "costFirstIntervalPrice" : 144.00000,
    "weightedPrice" : 1.54545455,
    "cost" : 74.18181840,
    "currencyCode" : "USD",
    "conversionFactor" : 1.00000,
    "costApplyingConversionFactor" : 74.1818184000000,
    "startBillingPeriod" : "2019/08/01 00:00:00 +0000",
    "endBillingPeriod" : "2019/08/31 23:59:59 +0000",
    "links" : [ ]
  }


Administer a hierarchy and delegate administration

The platform makes it easy to administer a hierarchy because usually an administrator will only manage their own tenant's users and those in their direct scope. And they will manage templates and blueprints for their own tenant. The administrator can then delegate administration to scopes beneath their scope. And share VM templates and configuration blueprints with them. So for example, a resellers' customers could manage their own users, local VM templates, and so on. And these customers can even have their own hierarchies and delegate administration to their departments.

Tenant metadata

Administrators can store metadata for each tenant, in the form of properties, which have a key and a value. Cloud administrators can create hidden, read-only, read-write properties

Tenant administrators can usually display read-only properties and create and update read-write properties.

Creating a reseller hierarchy

 In Abiquo administrators create an organization hierarchy using Scopes. First of all, the cloud administrator should define the tenants (enterprises) that a user will administer (users, templates, etc), and create an access list, which is the User scope. Then they should define the related enterprises, for which they will delegate administration. These access lists will also be scopes, but below the user's scope in the hierarchy, as child scopes of the parent scope. The cloud administrator can create a tree structure with as many levels as necessary. 

For billing and reporting, the cloud administrator can define the "top of the branch" enterprises, which could be the customer headquarters or similar.

Create scopes

When you create a scope, the main questions to ask are:

  • Which locations will the user/s administer? Select locations
  • Will the scope be part of a hierarchy? Select its parent
  • Will the user/s directly administer the following? Select after creation!
    • Own enterprise
    • Other enterprises

In this case, we create the scopes first and select the locations that the administrators can manage. Later we will add the enterprises to their scopes. This means that the administrators in these enterprises can manage the users, templates, and so on.

First we create a scope for the reseller, which is below the Global scope.

Then we will create a scope for a customer of the reseller. The customer scope has the reseller scope as its parent scope.

 Click here to show/hide the screenshots


Create reseller enterprises

To create a reseller enterprise, you should mark the enterprise with the Reseller flag. You will also need to enter pricing credentials, the provider discount, and create a base pricing model. Remember that you can only have one reseller per scope (enterprise default scope). When you configure the billing dashboard, enter the reseller's credentials. The platform will then identify the reseller's customers using their compute credentials, for example, the AWS access ID. 


 Click here to show/hide steps to create a reseller enterprise

Steps to create a reseller enterprise

  1. Enter the name, scope, and select Reseller. Optionally enter a logo and select a branding theme for whitelabelling.

  2. You can set limits for the reseller tenant as you can for any tenant in the platform. You can also set limits for the tenant in selected providers, datacenters, and even virtual datacenters.

  3. Select the providers and datacenters that the tenant can access. These allowed datacenters and providers are where users of the tenant can work, for example, they can deploy VMs. To manage these locations, administrators will also need to have them in their user scope.
  4. Enter credentials for public cloud, for compute and for pricing. The platform will use the reseller's pricing credentials for their customers and identify the customers by their compute credentials.
  5. Enter tenant metadata. This would probably include a reseller ID, provider discounts, price factor markups for customers, and billing data.
  6. Select a pricing model. The platform will base customer pricing on this model. The platform supports a markup for resellers' customers.

After you create the reseller enterprise, edit the reseller scope and select the reseller enterprise. If the reseller's customers will not manage their own users and templates, then you could also add them to this scope.


Create reseller pricing models

The platform provides a pricing estimate for deploying a virtual appliance when the user clicks the pricing button, usually marked with a currency symbol.

 Click here to expand...

Screenshot: The pricing estimate button may display the tenant's currency symbol.

Screenshot: The pricing estimate message includes the VMs and other virtual resources.

An administrator can assign the same pricing model to multiple enterprises and clone pricing models to create new ones. Administrators can set resource prices per location in multiple currencies. Administrators can use cost codes to set prices for templates and hardware profiles. The platform combines pricing models with usage data to generate billing data that is output in CSV files. 

For resellers, the platform can import prices for hardware profiles from public cloud. The pricing model from a reseller is the base for a pricing model for the customers created by the reseller. The reseller can set markup for customers, on top of the base pricing model. Customers can only display their own prices.

Create a reseller pricing model and assign it to your resellers.  For more details, see Create a new pricing model and  Create reseller pricing models.

Create reseller administrators

To create a reseller administrator, you will first need to define their role, with the privileges they will have to perform actions on the platform.

A reseller role with minimum restrictions could grant the administrator the following privileges:

  • All dashboard privileges
  • No infrastructure privileges
  • Most virtual datacenter privileges (except those for infrastructure or system administrator features)
  • Most virtual appliance privileges (except those for infrastructure or system administrator features)
  • Most Apps library privileges (except those for global and infrastructure features)
  • Most user privileges (except those to manage roles, and reseller enterprises) 
  • No system configuration privileges, except access to reports
  • Event privileges for the current enterprise
  • All control privileges.

The cloud administrator can create reseller customer enterprises centrally or delegate this work to the reseller, in which case the reseller administrator will require the Manage enterprises privilege. Note that this will mean that reseller administrator can also edit their own enterprise if it is in their scope.

Screenshot: Create the user and assign the reseller administrator role.

Create a customer pricing model

To ensure that the appropriate base pricing model is available, the reseller administrator with pricing privileges should log in to create the customer pricing model.  

Create a reseller customer 

You can create a customer with one or more tenant enterprises. The main customer enterprise is the "key node" of each customer organization, for example, it would represent the headquarters of an organization.

When you create the main customer enterprise, mark the Key node flag. If this enterprise is the customer of a public cloud reseller, then you do not need to enter pricing credentials. You should create tenant properties for markup, and a customer ID. The platform will automatically propagate pricing models and price lists to this tenant, with markup. Remember that you can only have one key node per scope (Enterprise default scope). You should then create any other enterprises to represent other parts of the customer organization, for example, departments of a business, stores in a retail chain.


 Click here to expand...

Steps to create a key node enterprise

This is very similar to creating a reseller enterprise, so these steps will only highlight the differences from the reseller enterprise.

  1. On the General tab, select the key node scope, and select Key node
  2. On the Properties tab, enter tenant properties to identify the customer and set the markup for customers of resellers
  3. On the Pricing tab, select the customer pricing model

After you create the key node enterprise, edit the key node scope and add the customer to its scope




  • No labels