Optimizing Virtual Data Center with Foglight

10 years ago, the synergy between application developers/administrators and systems administrators was very simple: dev team is building applications and sysadmins are building servers. Dev team owned application lifecycle, and sysadmins owned hardware lifecycle process. But, because it was generally difficult to predict application performance demand, in most cases application team would typically request a new server by ticking every option on server vendor’s configurator because, well, it was simply the best, and it did not matter if sysadmins disagreed.

Few years later, both sides of IT embraced the concept of shared economy with introduction of server virtualization technologies from VMware, Microsoft and Citrix, and the tools that enabled dev team provision servers with ease, often within minutes. And, while it became easy to provision new servers and apps, sysadmins were introduced to a new concept of: VM sprawl. Hundreds, or even thousands, of unmanaged and unknown VM servers that are consuming precious infrastructure resources hindering abilities to effectively provision new VMs on demand.

Foglight for Virtualization empowers sysadmins with a single pane of glass to monitor and optimize heterogeneous virtual datacenters from an application layer to a physical disk. In this multi-part series, I will cover Foglight for Virtualization Optimizer’s abilities to help sysadmin manage resource right sizing and waste finding within virtual environment, and how it can assist in capacity planning or performing everyday daunting tasks.

Note: in this series I will be using VMware vSphere environment but similar methodologies apply to Hyper-V environment.

CPU Right-sizing


CPU category (1) will list vCPU right-sizing recommendations across virtual datacenter(s). Sysadmins may select one or multiple VMs based on VM name and then reference to recommended modification. In this case, my DC02(2) virtual server is provisioned with 2 vCPUs, and because peak CPU utilization is very low on that server, Optimizer is recommending (3) that we modify this server by decreasing CPU allocation from 2 to 1.

Assuming, we are allowed to power down this virtual server for immediate modification, we can just click Reclaim Now button (4) and Optimizer will execute modification process in vSphere by reprovisioning this server with recommended vCPU count. Should we want to schedule this task for another time to match with it maintenance schedule, for example, this is possibly by clicking Reclaim Later button.

Memory Right-sizing


The concept behind right-zing memory (1) allocation to virtual servers is very similar to CPU right-sizing. However, this allows sysadmins to manage resource allocation with more granularity. For example, DKR02 instance in this datacenter may be excluded from CPU recommendations, but we want Optimizer to watch for memory recommendations. Similarly, if we are satisfied with recommended modification, we can go ahead an implement it now or schedule it for another time (4).

Threshold Settings

All virtual datacenter are not created equal, and therefore, sysadmins will likely want to modify right-sizing thresholds to match their organizational needs. We can modify global thresholds by clicking Settings button in the top right corner of Optimizer:


This is where sysadmins are able to granularly set how recommendation metrics are calculated for right-sizing. Default Optimizer metrics are based on Maximum Peak Utilization and can be easily modified to Average or Combined Utilization metrics.

Here is the breakdown of what these metrics mean:

Reserve Margin

The Recommendation Reserve Margin percentage is the percentage above the recommended basis, reserved for unexpected increases in utilization.

Acceptable Variation
[x] % [x] MHz, or [x] % [x] MB:


The Acceptable Variation percentage is the minimum percentage deviation of the Evaluation Result from the current setting which results in a recommendation. The Acceptable Variation value is the minimum difference between the Evaluation Result and the current setting which results in a recommendation.

Recommended Basis:

Average Utilization, Maximum Peak Utilization, and Combined Utilization (average utilization plus half of maximum peak utilization).

Peak analysis Period
[x] minutes(s):

Peak analysis period used for peaks calculation. “Peak” is the maximum usage of metric during this period.


CPU and Memory right-sizing tasks can be easily automated with Optimizer to ensure resource allocation is always met with application demand.


Automation can be set based on template schedule or sysadmins may create a new schedule to better align these changes to be performed during maintenance period approved by organization.

VM Resource Hot Add / Plug

Optimizer is fully capable to right-size resources by adding and removing CPU and/or memory to virtual servers. In most cases, this is achieved by Optimizer shutting the virtual server, modifying CPU and/or memory allocation and turning the virtual server back on. However, Optimizer can take advantage of hypervisor hot add/plug technology by right-sizing virtual server without shutting them down. This function is enabled within VM options:


Once this function is enabled, sysadmins will enjoy being able to add resources to virtual servers with no down time, and of course – business will appreciate this.

Additional Resources:

Foglight for Virtualization - Administrator Guide

Foglight Resource Optimizer - User Guide (VMware)

Foglight Resource Optimizer - User Guide (Hyper-V)

Stay tuned for the next post where I will go over Optimizer’s impressive abilities with storage right-sizing.