In the mid 2000’s when I first started looking at virtualization, the initial value statement for making the leap from bare metal to virtual was consolidation. Prior to virtualization, the traditional compute model distributed workloads to dedicated servers and OS instances. After virtualization, however, consolidation was often based on an assessment, and on rightsizing workloads for the virtual data center. Traditionally wasted or underutilized resources were shared, so we leveraged compute capacity to the fullest.
Later, we evolved toward templates, standardized deployment sizes, and service catalogs. Service Catalogs offered choices for default VM sizes ranging from 1 vCPU/2GB vRAM, 2 vCPUs/8GB vRAM, 4 vCPUs/32GB of RAM, and so on. The savvy application owner often asked for as much resource as possible, to grow into their sizing. However, growth didn’t always happen fast—or at all for dev, test, and non-production resources.
With VMware resources shared, a VM would use what it needed, and then release unused resources back to the local host pool. This worked well for locally hosted workloads, but often resulted in a performance cost, with resource contention in crowded hosts and pools. In an environment with more vCPUs defined than actual physical cores available, the workload must wait until all required vCPUs can be assigned to a physical core executing its workload. The result is an environment with a high CPU Ready percentage but with low CPU Utilization.
To add complexity, the cloud started forcing us to re-evaluate resource consumption when it started charging for the reservation and potential resource need, and not just for the actual consumption. The days of dozens or hundreds of over-sized VM’s were ending.
As an organization begins migrating from local on-premise hosting to a cloud hosting model, it becomes increasingly critical to rightsize workloads before the transition. The cost factors of as-configured and rightsized will appear as extra charges for resource consumption by cloud providers, or in a performance hit by resources waiting to gain access to the CPU or host computer memory. IT admins face the dilemma: “How do I rightsize my workload to best to meet my compute needs without exceeding the cost I am willing to spend to host my workloads?”
Enter the CloudPhysics Cost Calculators, and the Public Cloud Planning Rightsizer. The Rightsizer will ensure that VM’s are resourced correctly before workloads are moved to the cloud. This way, each workload is allocated the memory, CPU, disk, and network resources that best meet its needs without wasting or under-powering the VMs.
Viewing the data center from the CloudPhysics analytics engine, you quickly realize that the most workloads globally are over-sized even for peak usage. CloudPhysics takes the analytics collected and provides the user with a few different paradigms to consider when evaluating the right cloud instance size to support the workloads. Beyond how the VMs and workloads are configured, we can base recommendations on Peak Usage, 99th Percentile and 95th Percentile. These numbers can allow you to run your workload at a level that addresses nearly every performance requirement, if you are willing to take a small percentage of throttling.
How do these scenarios play in rightsizing output?
When rightsizing for Peak Usage, we can look at a workload’s CPU, RAM, Disk IOPS, and Network throughput and recommend scaling that workload to a size that meets its peak load. This scenario would apply high-performance applications demanding frequent spikes of heavy usage. However, this wouldn’t fit VMs that rarely operate above a small percentage of workload but may spike for backup, installs, or other infrequent usage, which may be the better metric for rightsizing. In that case, the 99th Percentile or 95th Percentile might make more sense.
When moving workloads to the cloud, rightsizing is essential. The cost of In-house workloads is associated with their shared hardware, so over-sizing a workload may not have any impact if it can release memory and CPU to other resources. However, for cloud purposes, the instance is seen as a fixed resource when considering cost. A VM configured for 4GB of vRAM and 2 vCPU cores may only need a small fraction of its resources 99% of the time. But, in the cloud, these configurations become the basis for our cost, even if the resource is not consumed. Rightsizing ensures that we selectively reassign the appropriate usage needs to a workload before assigning it to a cloud environment. The workload that utilizes a small fraction of its defined resources is expensive if not rightsized, and an under-sized workload is unable to deliver its full potential.
If assessments are done correctly, data center resources should perform optimally, with high CPU Utilization and minimal CPU Ready state. We can now extend current investment value and avoid costs by delaying new resource acquisitions for those with over-allocated reservations. Rightsizing not only saves money in resource planning and cloud migration, but helps resolve issues with CPU scheduling and the need for resources in the data center.