Optimize Performance with VMware vRealize Operations
The four pillars of the vRealize Operations (vROps) platform from VMware are:
- Optimize Performance
- Optimize Capacity
- Manage Configuration
Each pillar has several capabilities, we'll focus on the Optimize Performance pillar and Workload Optimization specifically. Formal documentation can be found here: https://docs.vmware.com/en/VMware-vRealize-Operations-Cloud/services/config-guide/GUID-F99FB6F7-9C25-4317-A7BD-B04126CE40CF.html
At its core, vROps Workload Optimization is the process of optimizing VM performance, such that they, the ESXi Hosts they are on, and Clusters they are in, are running optimally. Click the Workload Optimization link:
There are several different ways to group and filter these, but you'll always see the following:
- Datacenter name
- Criticality (bar above Datacenter name): green is optimized, red is not optimized
- Time remaining before the Datacenter runs out of space (based on the most constrained resource: CPU, RAM, Disk)
- Cost savings: savings per month if you were to reclaim powered off VMs, idle VMs, VM snapshots, and orphaned VMDKs
- Optimization Status: Optimized, Not Optimized, Unknown
Once you've clicked into the Datacenter you're given quite a bit more detail, including Optimization Status, History, and Optimization Potential.
The Optimization Status presents four different widgets as shown above:
Optimization Recommendation - are VMs currently optimized. If not, there are three options presented:
a. OPTIMIZE NOW - immediately optimizes the datacenter
b. SCHEDULE - allows you to schedule optimization for a later date/time
c. AUTOMATE - allows you to automate optimization
Operational Intent - allows you to select your VM automation policy settings for both VM Optimization and Cluster Headroom.
a. Balance - will spread VMs evenly over the available resources (ESXi Hosts and Clusters), but may move VMs more often. This is good for stable populations.
b. Moderate - will minimize VM contention, but will not attempt to move VMs to achieve better balance or consolidation.
c. Consolidate - will place VMs into as few Clusters as possible, but allows for less responsive capacity. This is good for populations with steady demand and may reduce licensing and hardware costs, ie power and cooling.
Cluster Headroom - provides a buffer of space for the Cluster, which may cause a rebalance to occur earlier than it would otherwise. It provides you with an extra level of control and ensures that you have extra space for growth inside the cluster when required. Defining a large headroom setting limits the systems opportunities for optimization. The range is 0-50%.
Business Intent - allows you to place VMs based on criteria like OS, Environment, Tier, and Network. You can move VMs to either Clusters or ESXi Hosts with matching tags.
We're going to explore the Optimization Status tab in more detail, but it's important to note there are two other tabs available, one for History and another for Optimization Potential. The History tab shows Cluster optimization history:
The Optimization Potential tab allows the user to calculate the potential Cluster utilization before and after placement optimization and which VMs can be moved to achieve this potential.
Now that we've explored the Workload Optimization dashboard in its entirety, let's get back to the Optimization Recommendation widget under Optimization Status.
The user will first be presented with the Status, in this case the Datacenter is already Optimized, the VMs are optimized according to your settings. If the Status is Not Optimized, the OPTIMIZE NOW button will be available. This will allow you to immediately optimize the selected Datacenter.
If you'd like to optimize during a change window or after regular business hours, you'll select the SCHEDULE option.
If you'd like to automate Datacenter optimization, select the AUTOMATE button and turn it on.
To initiate Automation, you must have privileges for Environment -> Action -> Schedule Optimize Container.
A common question is: how does vROps Workload Optimization compare to vSphere Distributed Resource Scheduler (DRS)? To start, DRS is a vSphere feature, while Workload Optimization is a vROps feature.
DRS was designed to migrate VMs experiencing resource contention to ESXi Hosts with resources available, the process itself is called vMotion. Predictive DRS (pDRS) was designed to predict resource consumption (based on data consumed from vROps) and vMotion VMs before contention happens. DRS and pDRS are controlled from within vSphere at the Cluster level and apply to the VMs in those Clusters.
pDRS requires the "Provide data to vSphere Predictive DRS" advanced settings to be set to true for your vCenter adapter/s. DRS and pDRS don't allow VMs to vMotion across Clusters, only within Clusters. The best blog I've seen on this topic is: https://blogs.vmware.com/vsphere/2015/05/drs-keeps-vms-happy.html
vROps Workload Optimization applies to all VMs in your vROps environment, on all ESXi Hosts, across all Clusters. That is, vROps Workload Optimization can vMotion VMs across Clusters. Enabling vSphere DRS, pDRS, and vROps Workload Optimization provides the user with the most automation currently possible in their Software Defined Datacenter.
Finally, let's explore the bottom widget on the Workload Optimization dashboard: Are your clusters meeting your utilization objective?
Clusters in the selected Datacenter will be listed, several items for each:
CPU Workload % - how hard CPU is working, CPU demand / CPU capacity
Memory Workload % - how hard Memory is working, Memory demand / Memory capacity
DRS Settings - DRS Automation Level (Disabled, Manual, Partially Automated, Fully Automated)
Migration Threshold - DRS Migration Threshold (Most Conservative, Conservative, Default, Aggressive, Most Aggressive). Most Conservative tolerates the most imbalance. Most Aggressive tolerates the least amount of imbalance.
Violated Tags - are there any violated tags within Business Intent
VM Name - name of the VMs
Once a Cluster has been selected, there are two DRS boxes available: VIEW DRS SUMMARY and SET DRS AUTOMATION. Click VIEW DRS SUMMARY:
The user is presented with DRS Settings, Cluster Balance History, VM Happiness Trends and lists, and finally vMotion statistics. This gives you a window in your DRS Settings for the selected Cluster, without going into vCenter.
Select SET DRS AUTOMATION and you'll find the ability to configure DRS settings:
Automation Levels are configurable as well as Migration Thresholds. Once you're ready, click BEGIN ACTION. This will make a call to vCenter and adjust DRS settings for the selected Cluster.