By: Prashant Suri, vCloud Air Scale & Performance Engineer
As part of an annual analyst review of vCloud Air, we needed to test how long it takes to power on 1,000 virtual machines without any failures. This provided a great opportunity to build an automated workflow to see what we could achieve. Compared to last year, we were able to deploy 1,000 CentOS 6.3 virtual machines, in 16 minutes.
For this particular test, I had access to vCloud Air Dedicated Clouds in New Jersey, Virginia, and Texas. Prior to testing, I set up one Virtual Data Center in Texas, one in Virginia, and two in New Jersey. Each Virtual Data Center gave me a pool of resources where I could distribute part of the 1,000 virtual machines. In other words, I could better utilize the capacity in each one of these locations and deploy 250 virtual machines in parallel to each Virtual Data Centers. The diagram below shows this distribution.
To automate such a large test, we designed a script using a homegrown performance test framework which accesses the service APIs. The framework is capable of distributing virtual machine creation requests in parallel, and has an option to set the rate control, i.e. the number of requests distributed by the test framework over a period of time. We chose a rate of 20 virtual machine requests per minute, or one VM create request every 3 seconds, across each Virtual Data Center. This was carried out simultaneously across each virtual data center which means we completed all 1,000 requests in roughly 13 minutes.
The script creates a 1 vCPU, 4GB RAM CentOS virtual machine with 20 GB SSD-Accelerated storage and powers it on while taking note of how long each virtual machine takes to complete these steps. The table below shows the range in latency (response) times for all 250 virtual machines in one of the virtual data centers. These response times were comparable (and less than 1 minute on average) for all of the virtual data centers. In total, the time from the first request to create a virtual machine until we can login to the last (1,000th) virtual machine was just around 16 minutes.
Table: Response Times across 250 Virtual Machines in one Virtual Data Center (in seconds)
This scale test is a valid metric for companies looking to support rapid test and development scenarios or “bursting” use cases where it’s important to quickly deploy large numbers of virtual machines. The results of this testing also shows that vCloud Air has the ability to handle large numbers of requests and can quickly process large-scale projects and bulk operations.
For more information on how to automate your own batch deployments to vCloud Air with your preferred tool (PowerCLI, vCA-CLI, Ansible, or Python), check out the code samples from the vCloud Air Developer Tools section: http://vcloud.vmware.com/developers/guide/use-cases
Ready to get started with the hybrid cloud? Visit vCloud.VMware.com.
Be sure to check out the vCloud Air Community , where you can join or start a discussion, watch our latest vTech Talk video, enter for a chance to win swag in our monthly giveaways and more. Get started here!