With VM sprawl there comes some detachment to how resources are provisioned to VMs. The three major elements of provisioning are vCPU, Memory and Capacity.
With the VM Resource Distribution graph you can clearly see how many VMs are uniquely configured with a disproportionately heavy amount of resources. The next question will obviously be which VMs are the uniquely configured and just how unique are they.
Rarely a VM is heavily configured in all three categories. Most often a VM will have 1 unique attribute and sometimes it will have 2.
The goal of the Provisioning Contrast graph is to visualize these uniquely configured VMs by graphing the balance of any two of these major resource categories.
VMs are often provisioned by templates or scripts that are designed to bring predictability to the environment. However, over time these configurations can grow unnoticed.
Provisioning Contrast is going to show up to the top 200 VMs in 1 of 6 sortable configurations.
The following are example graphics all from the same VM dataset. What is great about this is that although each view is very similar in nature, each one shows a very different perspective of where the heaviest provisioned resources are allocated.
Sort by vCPU
vCPU over Memory:
The VMs with the highest number of vCPU assignments will display on the top row. They will be sorted highest to lowest and they will be contrasted by the total amount of memory assigned to same machine.
vCPU over Capacity:
The VMs with the highest number of vCPU assignments will display on the top row. They will be sorted highest to lowest and they will be contrasted by the total amount of capacity assigned to same machine.
With this example you can clearly see some fairly obvious patterns.
- With the exception of 1 or maybe 3 VMs, vCPU assignments are very predictable.
- In contrast, capacity and memory assignments are not as standardized. In each major section of similarly assigned vCPUs, each section has few very disproportionally and heavily assigned VMs.
- Memory and Capacity, however, seem to have a coinciding allocation of higher memory assignments when increased capacity is given to the VM.
Sort by Capacity
This is actually the exact same dataset as the graphic shown above. The only difference here is that the top 200 VMs are now sorted by highest to lowest capacity assignments.
Now we can clearly see that vCPU and memory assignments in relationship to capacity are actually very random.
Capacity over Memory:
The VMs with the largest amount of capacity assigned will display on the top row. They will be sorted highest to lowest and they will be contrasted by the total amount of memory assigned to same machine.
Capacity over vCPU:
The VMs with the largest amount of capacity assigned will display on the top row. They will be sorted highest to lowest and they will be contrasted by the total amount of vCPUs assigned to same machine.
Sort by Memory
Memory over vCPU:
This is the inverse of the previous graph by swapping the sorting value to Memory vs. vCPU. The VMs with the highest amount of memory assigned will display on the top row. They will be sorted highest to lowest and they will be contrasted by the total amount of vCPUs assigned to same machine.
Memory over Capacity:
The VMs with the highest amount of memory assigned will display on the top row. They will be sorted highest to lowest and they will be contrasted by the total amount of capacity assigned to same machine.
In this example you can clearly see the uniquely provisioned VMs with high capacity to their memory assignments.