InnovationV Hosting Automation
Automated web hosting system at InnovationV for hands free configuration.
I realised the need for this project when I migrated a client’s website to InnovationV’s web hosting. They manually managed the hosting for each client on their system and did not have any automated ways for clients to pay or configure their hosting package. Hosting clients had to call in and have InnovationV configure the system for their requirements. This caused delays for deployments that needed specific configurations. It had worked for InnovationV up until this point as they had a relatively small client base, however as I started to refer them to people this was not acceptable. They were busy as it was with web and app development so how could they also manage people’s hosting?
This is where I come in, I offered to build a hosting automation system for billing and hosting management. They were extremely interested.
I initially thought that WebMin would be a good fit for them for their hosting system however I quickly realised it was only good for configuring the server and not good for automated hosting management. After some research I found a solution called VestaCP. Vesta automates user management and creation and provides the client with a nice interface for the client and admin to configure the fine details of their system.
I then created a VM network for testing and configuration of the control panel and after some testing I finally achieved the configuration that would suit them best.
Next up was the automated billing system. I decided to build this on top of WordPress (WP) as WordPress is an amazing platform with slathers of extensibility. For this project, I used the membership plugin from WPMU Dev. The membership plugin is built around recurring payments and subscriptions so it seems to be the right fit for the project. Next came the interesting part tying the billing and user management system to the automated hosting control panel. Fortunately VestaCP has an API for user management and miscellaneous settings/operations.
Using the VestaCP API as a basis for the synchronization system, I oversaw the creation of a script that scanned the WP membership data and then ran commands on the VestaCP installation to make the configuration match the current billing status.
The project was an amazing success and the workload has been shifted to other projects as a result of the automation for the hosting server and system.