Proxmox Cloud Autoscaling For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search

Contents

About Proxmox Cloud Autoscaling For WHMCS

Proxmox Cloud Autoscaling For WHMCS enables automatic alterations of servers provisioned by Proxmox Cloud For WHMCS depending on their load.

The module will allow you to set out rules on VPS resources according to which servers will be modified through resizing or cloning.
In addition, you will be able to grant your clients permission to change rules or toggle module functionality.

  • Automation Features:
✔ Create Multiple Server Clones And Attach Them To Load Balancer Upon Fulfilling Defined Rules
✔ Destroy Server Clone Upon Fulfilling Defined Rules
✔ Resize Server Upon Fulfilling Defined Rules
  • Admin Area Features:
✔ Define Available Autoscaling Types:
✔ By Server Cloning
✔ By Server Resizing
✔ Create Predefined Resource Sets
✔ Create Predefined Resource Set Scaling Rules
✔ Define If Client Is Able To:
✔ View Rules Configuration
✔ Modify Rules Configuration
✔ Modify Autoscaling Time Interval
✔ Define Maximal Number Of VM Created By Clone Autoscaling
✔ View List Of VM With Enabled Autoscalling
  • Client Area Features:
✔ Enable Autoscalling And Choose Autoscaling Type
✔ Cloning Server Features:
✔ Modify Autoscaling Time Interval
✔ Define VM Used As Load Balancer
✔ Configure Autoscaling Rules In Simple Mode:
✔ Define Single Set Of Rules To Clone New Server
✔ Define Single Set Of Rules To Destroy Server Clone
✔ Configure Autoscaling Rules In Advanced Mode:
✔ Define Single Set Of Rules To Clone New Server Per Clone Number
✔ Define Single Set Of Rules To Destroy Server Clone Per Clone Number
✔ Resize Server Features:
✔ Modify Autoscaling Time Interval
✔ View Resource Package Along With Up And Down Scaling Rules
✔ Disable Chosen Resource Package Form Taking Part In Autoscaling
✔ Modify Up And Down Scaling Rules
✔ View Autoscaling Notifications
  • Supported Load Balancers:
✔ HaProxy
✔ Keepalived
✔ F5 Load Balancer
  • General Info:
✔ Requires Proxmox Cloud For WHMCS - Multiple Servers Provisioning Within Resource Limits (read more)
✔ Requires Advanced Billing For WHMCS - Server Resource Usage Billing (read more)
✔ Multi-Language Support
✔ Supports Proxmox VE Up To 4.X
✔ Supports PHP 5.4 Up To PHP 7
✔ Supports WHMCS Templates Five and Six
✔ Supports WHMCS V6 and V7

Installation and Configuration

In this tutorial we will show you how to successfully install and manage Proxmox Cloud Autoscaling For WHMCS.

We will guide you step by step through the whole installation and configuration process.

1. Log in to your client area and download the module.
PCA 1.png
2. In the downloaded file you will find two packages that support different PHP versions.
As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.
It does not apply to open source versions.

Note: You can check current PHP version in your WHMCS. To do so proceed to 'Utilities' → 'System' → 'PHP Info'.

PCA 2.png
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.

Files in your WHMCS directory should look like this.

Dsse.png
4. Proxmox Cloud Autoscaling For WHMCS requires Proxmox Cloud For WHMCS product.

You must paste an integration code snippet to let the two products work together.
To do so, open file:

your_whmcs/modules/servers/proxmoxCloud/templates/clientarea/default/management.tpl

Find line:

{$content}

And paste this code snippet under that line:

{$AdvancedBilling_Integration_Code}

Module Configuration

5. Skip this subsection, if you have Advanced Billing For WHMCS already installed with the extension in the package.

Now you have to activate the module in your WHMCS system.
Click 'Setup' then choose 'Addon Modules'.
Afterwards find 'Advanced Billing' and press 'Activate' button.

AB 5.png
6. In the next step you need to permit access to the module.

To do so, click on 'Configure', choose desired admin roles and press 'Save Changes'.

AB 6.png
7. Now, set up a cron job, you can find it in your WHMCS → 'Addons' 'Advanced Billing' as shown on the following screen.
AB 7.png

Extension Configuration

8. Now, you have to activate the extension in your Advanced Billing For WHMCS.

Log in to your WHMCS admin area and proceed to 'Addons' 'Advanced Billing' 'Settings' 'Extensions'.
Afterwards, find 'Proxmox Cloud Autoscaling For WHMCS' and press enable it.

PCA 8.png
9. Now, you have to configure the license.

Press 'Configure' next to the extension, paste your license and save the changes.

PCA 9.png
10. Enable all proxmox cloud products for advanced billing that you wish to allow for autoscaling.
PCA 10.png
Your Proxmox Cloud Autoscaling For WHMCS is ready to use!

Management

In the below section you will find information on how to take every advantage of the extension and boost your Proxmox Cloud For WHMCS everyday usage.

Admin Area

To begin your work with Proxmox Cloud Autoscaling move to 'Addons' → 'Advanced Billing' → 'Autoscale' → 'Configuration'.

There you have to create and then configure groups of your proxmox products to allow to autoscale.

PCA 11.png

Configuration

Let's add a new proxmox cloud autoscaling configuration.

Fill in a group name and select a product from available.
Press 'Create New Group' to proceed.

PCA 11 1.png
When the group has been created, press 'Manage' button to configure specific options.
PCA 12.png
General Configuration:
  • Enable Notification - if disabled, client will not receive any notifications
  • Group Name - previously provided name of a group
  • Server Type - module type allowed for product in the group
  • Time Interval - defines time between changes on the accounts, used also to calculate average
PCA 13.png
Client Area Configuration:
  • Display Client Rules Configuration - shows rules of this group for clients with products configured in the group
  • Modify Rules Configuration - client can modify group rules, changes will affect their product only
  • Modify Time Interval - client can modify the minimum time between two switches on a single hosting
  • Allowed Time Interval Values - specifies what time interval a client can use (they will be displayed in the form of a dropdown menu or a textbox with a limited range)

Remember to use 10-50 pattern, as on the screen below!

PCA 14.png

Autoscaling Type

  • Clone Server - when necessary, virtual machine will be automatically cloned to meet required resources

When enabled, enter a maximum number of allowed virtual machines.

  • Resize Server - server resources will be upgraded or downgraded according to current needs.
PCA 15.png
A properly configured group is now available and enabled on the list with the most important info visible.
PCA 15 1.png

Options

In the next step, please set up autoscaling rules. Press 'In Server Options.'
PCA 16.png
Here you can add options to configure the group of proxmox products.

Name the option and press 'Add New Option'. Add as many option as you need to be able to configure the autoscaling rule for the product.

PCA 17.png
The next step is choosing a package which will be set upon switching to this option.
PCA 17 1.png
The next step is choosing a package which will be set upon switching to this option.
PCA 17 2.png
You can also fill in a description, which will be displayed in the client area if 'Display Rules Configuration' option is enabled.
PCA 17 3.png
In addition, you need to set up top and bottom rules.

Press 'Top Rules' to add rules for upgrading a product.
Note: For instance, if your client owns a product assigned to this option and fulfills top rules, the product will be switched into the product assigned to option above it.

PCA 18.png
'Top Rules'/'Bottom Rules' can have multiple rules defined.

To add a new rule, select it from a dropdown menu marked on the following screen and press 'Add'.

PCA 19.png
You can define comparison type and threshold of any added rule.

To add a rule which will be fulfilled when the CPU usage equals or is higher than 10, choose '≥' from 'Comparison Type' and type '10' into 'Threshold' field.
This example can be seen on the following screen.

PCA 20.png
Adding an option ends by pressing 'Enable' next to it.
PCA 21.png

Servers

To access the list of hostings affected by the autoscaling groups proceed to 'Autoscale' 'Servers'.

Information about each hosting can be found here along with access to the hosting history.
Press 'View History' near desired hosting to view its history of changes.

PCA 22.png
Hosting history contains the list of changes ever made for the hosting.
PCA 23.png

Packages

In this section 'Advanced Billing' → 'Autoscale' → 'Server Scaling Sets' you can setup predefined packages for products. These packages will be used to autoscale your clients VMs.
Each package contains information about VM's storage, CPU cores, CPU weight and memory limits.
PCA 24.png

Add New

Enter a name for a new VM configuration package and select submodule to manage the package.
PCA 25.png
A newly created package is available on the list, press 'Configure' button to continue.
PCA 26.png
Manage the package resources
  • memory size
  • CPU number
  • CPU cores
  • CPU weight
PCA 27.png

Client Area

In the following section we will show you client area with all autoscaling features enabled.

As you can see, autoscaling is displayed on the main page of a product.
Press 'Show' to view more.

PCA 28.png

Server Resize Type

You can easily enable/disable autoscaling or a selected option (blue) through pressing 'Enabled'/'Disabled' button and saving the changes.

To browse other options, use their names marked on the following screen.

PCA 29.png
Through pressing 'Show Rules' you can manage switching rules of currently displayed option.

Additionally, you can change the minimum interval between the changes through using marked field.

PCA 30.png
Rules are displayed in a table, press pencil icon next to the rule you wish to change.

Do not forget to save changes when you finish.

PCA 31.png

Clone Server

Another type of server autoscaling is 'By Cloning The Server'

Start with setting up its configuration.

PCA 34.png
Next, compose the new rules for creating a new instance.
PCA 35.png
Finally, compose the rules to destroy an instance in order to save some resources.

Save the configuration when it is ready.

PCA 36.png

Notifications

Client can also preview notifications sent when requirements defined by a client are met.
PCA 33.png

Case Study

In the below section, you will find the illustration of a real life situation, where Proxmox Cloud Autoscaling For WHMCS plays an important role.
Used Products:
  • Proxmox Cloud For WHCMS
  • Advanced Billing For WHMCS
    • Proxmox Cloud Autoscalling For WHCMS
Mr Johnson – a business person, owns a popular platform, which he makes available to his customers according to the current load.

Mr Smith – provides business people like Mr Johnson in server resources.

Mr Johnson's platform is at the top of its popularity, however, the server, which it is based on, turns out to be insufficient.
It completely does not manage to fulfill the customers' needs at the right time. Then, to solve the problem, Mr Johnson decides to purchase a virtual server from Mr Smith.

Mr Smith is a reseller and sells virtual servers using Proxmox Cloud For WHMCS module. He also owns also Advanced Billing For WHMCS module, which helps him make his business most prosperous.
However, to help Mr Johnson, Mr Smith installed also Proxmox Cloud Austscaling For WHMCS. It has been configured to manage Mr Johnson's Proxmox Cloud products.

Now, Mr Johnson can turn on autoscaling option for his server. All customers' queries are directed to a load balancer which then redirects it to the currently least occupied server.
When plenty of customers want to use the platform at the same time, Proxmox Cloud Autoscaling creates a clone of Mr Johnson's server and attaches it to a load balancer.

The traffic is now automatically divided between the two servers!
Mr Johnson's customers feel no difference and his platform is automatically adjusted to the current needs.

Tips

1. Proxmox Cloud Autoscaling For WHMCS works only with Proxmox Cloud For WHMCS module.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
Personal tools
Namespaces

Variants
Actions
Navigation
WHMCS Modules
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions
General
Social
Proxmox Cloud Autoscaling For WHMCS