Public Cloud

Virtalus HyperCX offer the possibility to build your own Public Cloud based in your Private enviroment. Some components should be modified, and some resources created so they are readily available for new users. HyperCX allow to create two kinds of Public Clouds, a Simple and an Advanced one. Regarding the billing, two modes are supported:

  • Allocation mode: New users will be created and managed by an administrator and their resources will be limited to an agreed capacity. Monthly price will also be fixed.
  • Pay as you go mode: Users can create accounts on their own, and monthly price will vary depending on the consumed resources. WHMCS must be used on this mode.

The Simple Cloud uses only the HyperCX platform with some customization, and only supports allocation mode. It is a basic way sell your private enviroment. For this, it is needed to add groups and users for your clients in a manual way. It allows to download Templates or upload your own in order to offer it to the clients and create virtual network. Users will only be allowed to create and manage VMs, and use the Simple View.

The Advanced Cloud provides advanced features not available on the previous mode. By leveraging this mode, users will be able to use the Advanced View besides the Simple View. Advanced clouds can leverage allocation mode and pay as you go mode.

Both for the Simple and the Advanced model, some operations will be required or recommended on the cluster. This guide will start on those requirements, and then will move to the specifics on each model. The user should start by the common configurations and jump after to his specific deployment model.

Common Configurations

Following configurations should be considered for both Simple and Advanced Cloud mode. After this section, the specifics of each mode will be mentioned.

Templates

Download the TEMPLATES that you will offer in the Cloud. You might want to offer at least Centos, Ubuntu, Debian and Windows templates. These templates should be downloaded from the marketplace provided by HyperCX.learn more

It is also recommended to limit the resources a user can set to any VM instantiated from any of these templates. For example, if the infrastructure uses 256GB RAM servers, it makes no sense a user can set more than that amount.

Public Network

The public network is recommended for the clients to access to virtual machines using a Public IP. It should be created before provisioning a user. This network already exists in HyperCX Private Clouds. Some clusters also come with an IPv6 network. This network can also be allowed for user.

Allow resources to be used

Templates, images and virtual networks must be allowed to be used by others, so users from different groups will be able to use them.

Simple Cloud

In this mode, users will not be created automatically. Instead, the cluster administrator must create an account for each end user. This option is convenient in some cases where administrators want to keep a more strict control on the cluster's users. For this case, it is recommended to create at least a group to hold these users, and set limits (quotas) at an user level. More than one group can be created to lump together similar users and share resources among them.

Create Groups

Only allocation mode is supported for public clouds, so cluster administrators must create and manage existing users. It is recommended to create one or several groups for the public cloud users and assign all the future users to any of those groups. Groups could establish quotas but it is recommended to let them unlimited and instead set the quotas to the users.

Groups for the simple cloud should allow only the simple view for it's users and set this view as default. Leave the admin views empty since this group should not have a group admin (unless you want to delegate the responsibilities of creating and managing public cloud users to someone different than the cluster administrator, if this is the case, create a group admin and simple, advanced and group_admin view to the group admin). Group permissions should only allow users to create VMs.

The newly created group will allow that every user can see and use all the virtual networks. This most likely will not be the desired behavior in this case. To disable this behavior the ACL that allows the group to use the resource Virtual Networks must be deleted.

Create users

At this point, users can be created normally inside this group, just set the quotas requested by the end users.learn more

Advanced Cloud

If pay as you go mode* is desired, you will need an extra layer upon HyperCX*** to handle users registration and advanced billing. HyperCX provides an connector to WHMCS, a world's leading web hosting automation platform.

WHMCS installation and configuration

WHMCS will provide the auto-provision portal and the billing system for the Cloud.

A running WHMCS is an indispensable requirement for this enviroment if pay as you go mode is used. Virtalus HyperCX offers a WHMCS appliance ready to work with the platform that you can download from the marketplace. Follow the next steps:

  • Download the appliance from the marketplace. For this GO to Apps within Storage section and download the appliance called hypercx-whmcs
  • Create a new VM using the previously downloaded appliance. Here you should specify a previously configured dns entry (optional) and if you are using a public ip a certificate will be generated for this dns. The VM will take around 2 minutes to be fully configure.

  • Using ssh, access the VM to collect the information necessary to complete the WHMCS installation.

  • Go to the link displayed on the VM and start the installation.

  • Go to WHMCS page or simply click on the Members Area link on the web to purchase a license.
  • Set up the license and database data on the web.

  • Set up the administrator account details so that you can manage once the installation process is complete.

  • Access the server via ssh and run the following command:
# rm -rf /var/www/whmcs/install
  • Go to http://<<web site ip or fqdn>/admin and enjoy!!!

Virtalus HyperCX offers a HyperCX Module to connect to your private infrastructure that is integrated in the appliance. With this module, every new user account created through WHMCS will create a new user and group into HyperCX platform with unlimited resources for the end user. The groups and users should look like this:

Groups

Users

The new user will be a group admin of his own group, and will be able to create more users inside his own group.

There is another option and that is to implement WHMCS on your own. In this case, you can relay on WMMCS Installation Guide to do so.

Note

This last option is not supported by Virtalus.

General Settings

1- Access to WHMCS portal http/https://<web site ip or fqdn>/admin

2- Go to Setup>>Settings to make the general configurations as described below:

  • General
Fill out the following information

- Company Name  ***Your Company Name as you want it to appear throughout the system***
- Email Address  ***The default sender address used for emails sent by WHMCS***
- Domain   ***The URL to your website homepage***
- Pay To Text  **This text is displayed on the invoice as the Pay To details**  
- WHMCS System URL  ***The URL to your WHMCS installation (SSL Recommended) eg. https://www.example.com/members/***
- Maintenance Mode Redirect URL  ***If specified, redirects client area visitors to this URL when Maintenance Mode is enabled***

Example

  • Ordering
Configure the following parameters

- Order Days Grace   ***The number of days to allow for payment of an order before being overdue***
- Default Order Form Template
- Auto Redirect on Checkout   ***Usually "Automatically forward the user to the payment gateway"***
//Don't enable the other options

Example

  • Domains
Disable the use of domains

- Domain Grace and Redemption Fees

Example

  • Mail
Fill out the following parameters

- Mail Type
- SMTP Port
- SMTP Host
- SMTP Username
- SMTP Password
- SMTP SSL Type
- Global Email Signature
- System Emails From Name
- System Emails From Email

Example

Note

All mail parameters correspond to your own mail server. The above image is only and example

  • Security
Set the following parameters to text between the quotation marks:

- Email Verification   "Enabled"
- Captcha Form Protection   "Always On (code shown to ensure human submission)"
- Captcha Type   "Invisible reCAPTCHA (Google's reCAPTCHA system)"
- Captcha for Select Forms     "Shopping Cart Checkout, Client Registration, Contact Form, Ticket Submission, Login Forms"
- reCAPTCHA Site Key  **You need to register for reCAPTCHA @ https://www.google.com/recaptcha/admin**
-  reCAPTCHA Secret Key
- API IP Access Restriction   **IP Addresses allowed to connect to the WHMCS API**
-  Log API Authentication    "Enabled"
- CSRF Tokens: General      "Disabled"

Note

This is the recommended configuration for security. For this to work, you must register at google recaptcha and request the reCAPTCHA keys. If you don't want that much security, you can disable the CAPTCHA and everything will still work fine.

Example

  • Automation Settings

1- Access via ssh to WHMCS server and set a cron job. Without it, WHMCS will not generate invoices automatically, suspend accounts, send payment reminders and update the disk usage statistics.

# crontab -e
//Add this line
*/5 * * * * /usr/bin/php -q /var/www/whmcs/crons/cron.php*
//This job will run every 5 minutes

2- There are other configurations that need to be configured inside Automation Settings like Automatic Module Functions, Billing Settings, etc.

Example

  • Email Templates

This option hold all the Templates that WHMCS send for diferent reasons, like the Welcome Email. Here you could modify every template according to your needs.

Example

Dear {$client_name},


PLEASE READ THIS EMAIL IN FULL AND PRINT IT FOR YOUR RECORDS


Thank you for your order from us! Your hosting account has now been setup and this email contains all the information you will need in order to begin using your account.


 We have provided an url which you could use to manage your resources and deploy your services.


New Account Information


Hosting Package: {$service_product_name}
Billing Cycle: {$service_billing_cycle}
Next Due Date: {$service_next_due_date}


Login Details

Username: {$client_email}
Password: {$service_custom_fields.0}


Control Panel URL: https://{$service_server_hostname}


Server Information


Server Name: {$service_server_hostname}


Thank you for choosing us.


{$signature}

Products/Services

In this section you will create the servers that will provide the resources for your client requests. Also, you will create the products that should be offered.

  • Create a Group and a Server. This Server (HyperCX Server) will be used to provision the users and their quotas

Example

  • Create a Configurable Option for quotas like CPU, RAM, HDD,etc. This will be used to set the metioned parameters inside the HyperCX platform

  • Create a Group and a Product to offer in the cloud.

Example

Important

Note that when a user is approved to cancel, all of their HyperCX cluster resources will be destroyed.

Custom Web

WHMCS allows you to customize the web interface to meet yuor requirements. You are able to change the colors, modules ubication, etc.. The main files to modify are:

- styles.css    /var/www/whmcs/templates/six/css/
- header.tpl    /var/www/whmcs/templates/six/
- all.min.css   /var/www/whmcs/templates/six/css/

Virtual Network templates

For the advanced mode users can create their own virtual networks. Administrators can limit this feature, if that is your case skip this section. In order for the user to create his own virtual networks he must instantiate an existing VNET template. It is recommended to provide one or several Virtual Network Templates for the clients to instantiate their own private networks. You could find more information related to it in Virtual Networks. A use case can be found on is Virtalus managed Public Cloud, more information here. Most HyperCX private clusters come with a default VNET template. Simply allowing users to use this template is enough on most cases.

NFV features

When users are allowed to create their own virtual networks, they should also be allowed to create virtual routers. This virtual routers use HyperCX NFV features in the back. HyperCX NFV offers the possiblity to create and manage your own L4 and L7 load balancer, Client and S2S VPN, firewall and router. More information can be found in HyperCX NFV.

Administrators should download the HyperCX NFV template from the marketplace and allow users to use it.

Image Permissions

Template Permissions

Users and groups for allocation mode

If allocation mode is desired, users and groups will not be handled by WHMCS. Instead, administrators must create and manage users and groups. If allocation mode is desired either alone or together with pay as you go mode, read this section. If not, it can be skipped.

For the advanced cloud it is desired that users can create other users inside their group. This is the default when WHMCS is used, and resources consumed by these other users are billed to the user who creted the account. In case of allocation mode, quota should be set for the group instead for individual users. This will enable that the original user (and owner of the group) can create new users inside his group, and resources used by these new users will fill out the original user's quota.

To implement this behaviour, a group will be created for each user of the public cloud. This new group will allow simple and advanced views for group users, and simple, advanced and group_admin views for group admins. Advanced view should be the default for users while group_admin view should be the default for the group admin. A group admin will be created for this group, and this is the account that will be used by the user. This way, the user will be able to create new users inside his group. This group should enable it's users to create all of the resources.

The newly created group will allow that every user can see and use all the virtual networks. This most likely will not be the desired behavior in this case. To disable this behavior the ACL that allows the group to use the resource Virtual Networks must be deleted. This must be done for each group that was created. When groups are created through WHMCS this is already taken care of.