How to setup quick VM provisioning using templates on oVirt cloud hosting systems
Cloud users love the ability to simply go to a portal, define their application requirements, and instantly get a server ready for their new application.
The idea that you can get a fully configured server instantly, with uptime and availability guarantees, has been the driving force behind the meteoric growth of cloud and IaaS. So, any cloud provider worth their salt keeps “low provisioning time” as a central feature in their service offering.
In a previous post, we covered how oVirt (open virtualization) can be used to build a high ROI cloud hosting solution. Today, we’ll go a bit further into how we used VM templates to provision cloud instances in as little as 5 minutes.
Why provisioning takes time
In good old dedicated server hosting, the provisioning process could take anywhere from 2 to 24 hours. First a new order needs to be processed by a sales person.
The order then stays in the queue until an engineer becomes available who can hook up the server to the network, install an operating system, and setup all requested applications. Then it’s passed on to an NOC engineer who further secures and optimizes the server. Finally, after much waiting around, the customer gets an email saying the server is online.
The entry of cloud systems put an end to these endless waits. Cloud instances are created using pre-configured server templates, which allowed customers to go live as soon as the order was placed.
VM templates to the rescue
Cloud systems solved these provisioning bottlenecks by automating the process, and by making available a variety of “server templates” that’s pre-configured for a wide range of uses.
These “server templates” have pre-configured OS and applications customized for different businesses such as web hosting, database servers, mail servers, etc. For example, a “Starter” cloud instance for web hosting would have 10 GB of space, 1 CPU, 1 GB of memory, 10 mbps bandwidth, and a CentOS Linux pre-configured with a LAMP stack.
In the oVirt cloud system that we setup, template based provisioning was a core capability that we built in. We created server templates for all possible usage scenarios. These usage scenarios were a combination of three factors: (a) Operating system, (b) Business category and (c) Resource requirements.
Operating system is a critical factor in the choice of server instances. The cloud provider we supported gave server instances based on CentOS, Debian, Ubuntu and Windows operating systems.
Different categories of business required different sets of applications. For example, a cloud instance configured for website hosting may need Linux, Apache, MySQL and PHP, while a server configured as a mail server might need a Postfix server to be setup.
By creating server templates for the most common businesses supported by the cloud provider, we were able to minimize the time needed for post-provision configuration.
The resource requirements of cloud instances are influenced by the size of applications and the volume of data traffic it attracts. For example, a small blog might need a server with just 512 MB memory, 1 CPU and 5 GB disk, while a large market analytics web application might need a server instance with 16 GB memory, 8 CPU and 200 GB disk space.
By creating server templates for these different configurations, we saved time in customizing resource settings. So, we created server templates that were a combination of all these different possibilities.
For that, first we created virtual machines (aka VMs) on all these combinations, and then used the “Make Template” feature in oVirt to clone them into images that can be replicated.
Once this was done, we named these templates according to the plan combinations so that selecting a template from a list was intuitive. For example, a “Business” class cloud instance for Linux website hosting would be named, “CentOS-LAMP-Business”.
As we’ll see below, we were able to provision new cloud instances in as little as 5 minutes using this system.
[ Looking for custom plugins to manage your portals? Contact us to get tailor-made plugins to serve your business purposes. ]
5-minute provisioning using templates
Once the templates were created, provisioning could be done in a few clicks. When a new order came in, we navigated to the relevant “Data Center”, and clicked on “New VM” to bring up this screen:
Then, the appropriate template was chosen (as highlighted), and clicked “OK” to start the VM creation. On an average this gets over in 2-3 minutes.
So, the entire time taken from getting the notification of the new order, to sending the customer login details to the new VM usually takes us just 5 minutes. 🙂
[ Looking for the WHMCS plugin to manage your oVirt interface? Get our WHMCS plugin for oVirt management here. ]
Fast provisioning is a core feature in any cloud hosting solution. Here we’ve covered how quick VM provisioning was implemented for an oVirt cloud system.
Bobcares helps cloud providers, data centers and web hosts deliver industry standard cloud services through custom configuration and preventive maintenance of server virtualization systems.