Instant VPS provisioning in oVirt using templates
In October, Amazon unveiled its new service called Prime Now. With this service, you get your orders delivered within 1 hour. So, if you are running out of wine for your new year celebration, take out your phone, place an order in Amazon, and your stocks get replenished within 1 hour – How’s that for instant gratification?
Now, people expect this sort of instant service. No one likes to wait, especially if the service is delivered online. For instance, customers expect a new VPS or Cloud server to be online within a few minutes of placing an order. Any VPS provider worth their salt keeps “low provisioning time” as a core feature of their service offering.
In a recent post, we discussed how we helped a VPS provider build a competitive VPS hosting service using oVirt. Today, we’ll cover how oVirt template system was used to deliver 10 minutes provisioning of new VPS orders.
How to achieve low provisioning time
To know how to achieve a low provisioning time, let’s take a look at what goes on during a normal VPS provisioning:
- Customer places an order.
- Order notification comes to an engineer, and provisioning is initiated – takes 5-10 mins depending on provisioning queue size.
- Engineer chooses an OS template, and deploys a server – takes up to 5 mins depending on VPS system load.
- Engineer installs latest OS packages – takes up to 5 mins, depending on how old the template is.
- Engineer installs all requested applications – takes anywhere from 10 to 90 mins for installation, configuration, license config, etc.
- Engineer secures and optimizes the VPS – takes up to 15 mins depending on VPS configuration.
So, all in all, the whole provisioning process can take up to 2 hours depending on the customization options. Our challenge with this VPS provider was to bring it down to less than 10 mins.
As you can see, the majority of the time is spent on post-installation setup. Our plan was to cut down the time needed in post-installation setup. For this, we maintained up-to-date templates of all popular operating systems, so that no post-install OS updates were needed.
Then we created templates on which popular applications were pre-installed. For eg., there were CentOS 7 templates with cPanel, and Plesk pre-installed, so that it doesn’t have to be installed afresh.
Next, all these templates were secured and optimized, so no further optimization was needed after deployment. These 3 steps immediately cut down the provisioning delay to less than 15 mins.
Finally, we linked the billing portal with the oVirt system, so that, when a new order was placed, a server with the selected applications and basic resource configuration was automatically created. Then the engineer only needed to put in the license keys, and reset the resource limits as per the order. This reduced the total provisioning time to 5 mins (during off peak hours).
[ Looking for custom plugins to manage your portals? Contact us to get tailor-made plugins to serve your business purposes. ]
Here’s how we went about each of these steps.
Creating the base VPS
As the first step of creating templates, we listed down the combination of operating systems and applications we needed to support. Popular operating systems supported by this VPS provider included CentOS, RedHat, Ubuntu and Windows. Among applications, Plesk, cPanel and MSSQL were popular add-ons.
So, we created base VPS instances for each of these OS + Application combinations. For eg., we created VPS instances for CentOS + cPanel, Windows + Plesk, Ubuntu + Plesk, etc. These VPS instances were then secured and optimized to match their default configuration.
Once the server optimization and securing was completed, we created a template out of this VPS.
Creating the VPS template
After confirming that the base VPSs were successfully created, we went ahead and converted them into templates. All these templates were created with basic resource allocations, so that it could be increased as needed during provisioning.
[ Looking for the WHMCS plugin to manage your oVirt interface? Get our WHMCS plugin for oVirt management here. ]
Creating VPS instances from the templates
These templates were listed in the oVirt template repository, and could be accessed via oVirt APIs. The API URLs to these templates were then added to the billing portal to automate the creation of VPS instances as soon as an order was confirmed.
Once a new VPS was created by API through the billing portal, the engineer only needed to edit the resource limits as per order, and update the license keys of software.
This new system reduced manual intervention to less than 10 mins, and we were able to process orders in as little as 5 mins during off-peak hours.
Using pre-configured VPS templates enable web-hosting companies to let their customers go live as soon as their order is processed. But the initial installation, resource allocation and configuration of the base VPS require some expertise.
These templates have to be maintained regularly with software updates and vulnerability patches. Bobcares helps VPS hosting providers deliver industry standard services through custom configuration, quick provisioning and preventive maintenance of various server virtualization solutions.