We have demonstrated in a previous blog post how vCloud Air is cheaper than AWS and Azure when considering price-performance. To get the same CPU performance out of Azure that you get from vCloud Air, you will need to use either more instances or larger instances – both contributing to a higher cost. To get the same storage performance out of AWS that you get from vCloud Air, you will need to provision more storage (as performance is tied to volume size) or higher classes of storage that are more expensive.
But what if performance is not the critical factor? What if the raw number of virtual machines that can be provisioned is more important? That can be the case particularly in test and development scenarios where you focus more on the service wirings and architecture (versus raw performance).
In this brief post, I will show how a vCloud Air consumer can instantiate VMs for a cost that is around $8 a month (or $0.01 per hour).
This is where the overcommitting capabilities of the vCloud Air Dedicated Cloud can be very handy. For background you should read this article on how Dedicated Clouds and Virtual Private Clouds differ in philosophy and implementation.
Let’s look at what happens when I change the focus from performance to maximizing the number of virtual machines deployed at the lowest cost possible.
I subscribed to a base Dedicated Cloud (120GB of memory, 30GHz of CPU and 6TB of storage) at a monthly cost of $8,594.
Out of that I then carved out a Virtual Data Center (VDC) with 20GB of memory, 5GHz of CPU and 1TB of storage). If you do the math this VDC comes out at (roughly) $1,430 per month.
Inside this VDC, I have deployed 164 virtual machines based on a CentOS 6.4 64-bit template I have uploaded in my vCloud Air private catalog. I configured the template so each virtual machine is 1 vCPU, 512MB of RAM and 7GB of disk space.
With only 20GB of allocated memory, how can I run 164 virtual machines that are 512MB of RAM each? This is the power of overcommitment. By not explicitly reserving memory for each virtual machine, I can provision more virtual machines overall. This is already a common practice for most vSphere customers in their on-premises data centers.
I fired up these 164 VMs from a PowerShell scripting station (a VM that, ironically, runs in the same virtual data center I am pointing to). The reason for which I had to stop at 164 VMs is because, while I haven’t explicitly reserved memory, the system reserves a fraction of the configured memory per each VM. In other words, to run 164 VMs configured with 512MB of memory each (for a total of 83GB of nominally configured memory) you need all the 20GB available in the VDC. The 165th VM would refuse to start, as there is no longer memory available. One could configure the template with 256MB of memory and being able to instantiate 328 VMs (disclosure: I haven’t actually tested it in the lab).
Storage is a no brainer as we do not overcommit there. What you see is what you get. No tricks.
If you do the final piece of math you’ll notice that each virtual machine will cost only $8.72 a month or roughly $0.01 per hour. Think half the price of an AWS T1.micro with a small EBS.
In conclusion, we have demonstrated how, leveraging the overcommitment capabilities of the Dedicated Cloud SKU you can reach a “price per VM” that could easily beat the AWS T1.micro. This all assumes you don’t care too much about raw VM performance but rather care more about number of instances that can be deployed. If you care about raw VM performance vCloud Air is still your cheaper option according to this other angle.
It must be said, however, that this math assumes a fully utilized Dedicated Cloud (the subscription and the monthly charge is for the entire DC, not for just the VDC you created on it). That means that you either have to create many small VDCs that different users can use at an individual small scale, or you have to create a big VDC spanning the entire Dedicated Cloud footprint where users deploy a massive amount of VMs in it. With the smallest DC SKU you are looking at running 164 x 6 = 984 of such VMs if you want to keep the “half the T1.micro price” or 492 VMs if you want to “match the T1.micro price”.
You will appreciate that there are infinite possible combinations, which is part of the value vCloud Air delivers.