Building custom software solutions – How we integrated WHMCS and oVirt API for a web hosting provider
In web-hosting industry, every customer prefers to have a single interface where they can manage the multiple segments of their business – say, support, billing, account, domain, etc.
There are software solutions such as WHMCS, which integrates accounts, billing, support and automation into a single platform and customers can manage them easily.
But for web hosting providers who offer virtualization solutions such as VMs to their customers, there would be a management platform too, to manage and monitor their virtual machines.
Software integration – The key of the hour!
Customers would thus have to access multiple software to get their business running smoothly – say oVirt for VM management and WHMCS for billing purposes, which can be very inconvenient for them.
The hosting provider may also find it difficult managing the user accounts, assigning the VMs to each customer, updating the details in different portals and provisioning new orders.
For ease of access, quick provisioning, better management and enhanced control, web hosting providers now prefer having an integrated system where the crucial features of their multiple software can be clubbed into a single portal.
While there are no ready-made solutions that help you and your customers manage both account and VM management from the same interface, it is possible to integrate the major functionalities of the two.
At Bobcares, our expert software development team help web hosting providers by deploying custom software solutions that integrate all the required features into a single easy-to-manage interface.
Following a lean software development methodology, we first create a functional prototype based on customer requirements. This gives the customers an opportunity to experience first hand how a site would look, or how a feature would be.
Based on customer feedback, rapid updates are made on the prototype until the requirements are fully translated into real life. We then create a plan for the project implementation, and build the final product.
With our efficient project management, bug-free software development and rigorous testing services, we deliver bug-free, extendable software with zero delay in the milestones and regular follow-ups.
[ Looking for custom plugins to manage your portals? Contact us to get tailor-made plugins to serve your business purposes. ]
WHMCS – oVirt API integration – The requirements!
Recently we were contacted by a web hosting provider who was using three different software – WHMCS for billing, PRTG for monitoring and oVirt for VM management.
Having to use different interfaces every time was a bit inconvenient for the customers and the hosting provider wanted to avoid the overhead of managing user accounts in different software.
He contacted us to know the feasibility of having a single interface where his customers can be billed using the WHMCS packages and they can create their VMs using templates from the oVirt engine.
oVirt is a virtualization software and doesn’t come with a billing system, but it is possible to integrate it with common billing software like Blesta, HostBill, WHMCS, etc., with some custom coding using its API.
So we decided to build and integrate an oVirt Module into the WHMCS. After a detailed requirement analysis session with the client, our Project Manager summarized his requirements:
- The module should allow customers to create their VMs from their WHMCS account by using the templates from oVirt.
- Customers should have these features in their accounts – create, start, reboot, shutdown, console and suspend the VMs.
- Already existing oVirt VMs should list in the WHMCS and hosting provider should be able to edit them and assign to customers.
- Feature to assign a static IPs to the newly created VM using the WHMCS IP Manager module.
- Auto-provisioning feature – if a client pays for a VM package, there has to be a feature to provision the VM automatically.
How we integrated oVirt module into WHMCS using oVirt API
oVirt has a REST API package, which provides application programming interface for the oVirt engine. We decided to make use of this API functions for implementing the customer requirements.
oVirt API functions include features to list, create, start, stop, and do many other tasks related to the VMs. After identifying the required API functions, our next step was to create a WHMCS addon module.
We configured the WHMCS base addon module with the oVirt API settings. Using the appropriate API calls, we created a page to display the summary of oVirt account.
- The list displayed the VMs of oVirt in the newly created WHMCS addon page.
- Customers were given a page to view their VM instance details, and they were given options for these actions: Shutdown, Start, Stop, Reboot, Suspend and Unsuspend the VMs.
- For each VM, the complete details about it, such as NICs attached, disks attached, RAM, cores etc. would be listed.
- Customers were provided with a ‘Create VM’ form, so that they can create new VMs with the templates listed in the oVirt repository.
- The template list for VMs would show all the templates created in oVirt, and customers can choose the ones they want.
- To automate the provisioning of VM instances as soon as an order is placed, we added appropriate API URLs to the billing portal.
We built a prototype of the project in the development server first. Here is a sneak-peak into some feature pages that we developed as a part of our WHMCS oVirt API integration project:
Further, to integrate the oVirt VMs with the WHMCS client services, we implemented the following features too:
- We integrated the VMs with the WHMCS client packages, so that each VM is linked to an appropriate plan/service.
- When a client plan/service is suspended, the corresponding VM would also be suspended automatically.
- In each client area, their corresponding VMs and management options would be listed for them.
- As per their plan and privilege, customers are also given ‘Edit’ options to update their VM IP and other settings.
- For the VM auto-provisioning feature, we also added an option to make the settings editable, if required.
Once the customer reviewed the prototype and features, and tested the module in the development server and confirmed it fit well into his requirements, we went ahead and deployed the module in the live server.
[ Looking for the WHMCS plugin to manage your oVirt interface? Get our WHMCS plugin for oVirt management here. ]
Additional features we implemented in the WHMCS oVirt module
In addition to the oVirt integration, we also implemented a feature to list VM performance graphs also in the WHMCS module. Customers could see the monitoring reports related to their VMs as graphs, in their portal.
The graphs were pulled from the PRTG network monitoring server and displayed for each parameter, such as bandwidth, CPU, memory, HDD etc. For newly added VMs, these graphs were updated correspondingly.
Along with these basic features, users could also be given options to ‘Scale’ up their VPS instances to add more resources such as storage, IP address, memory etc.
The ‘Backups’ feature was added to give options to configure automatic VPS backups on a daily, weekly and monthly manner. ‘Reports’ tab gave summary reports of the VPS performance and resource usage over chosen period of time.
Key benefits gained from WHMCS – oVirt integration
In addition to the ease of management, preventing obsolete and redundant entries, this new integrated system also reduced the manual intervention involved in order processing of new VMs.
Making the pre-configured VM templates available in their WHMCS portals, enabled web-hosting provider to let his customers go live as soon as their order is processed and helped him garner more business in no time.
In addition to the integration feature implemented by our software development team, our server management team helps to maintain these VM templates regularly with software updates and vulnerability patches.
The modules were developed with the scope of expansion and further feature additions, if required. Bobcares’ expertise in various billing portals and management software, help us integrate these systems in very less time.
If you’d like to get a custom quote for integrating your VM management portal or other software systems into your billing system to make things easier for you and your customers, contact us now.