Virtualization of servers is a topic that almost all IT professionals have on their scope. Every task — from reducing a hardware footprint, a consolidation strategy, remote disaster recovery, test environments, space savings, to thermal management, as well as many other initiatives — can involve virtualization for the server space. However, a properly planned virtualization environment can also be expensive in terms of hardware, host software, storage, and networking, as well as software licensing and support fees. This article will showcase some strategies and tools to empower IT to have justifiable numbers for a chargeback, or at least to get ammunition for more dollars to boost your virtual environment.
Regardless of how your IT finances work, you should have some visibility to the costs associated with each element of a virtualized environment. In the case of this article, we're going to talk specifically about VMware environments. Simply stating that my VMware Infrastructure costs $X amount is insufficient; you need to be able to quickly and accurately determine what business groups are requesting the most of your technology resources (and dollars).
The costs add up
VMware environments are great technological solutions. However, they are expensive when you include all costs: the hardware to run the virtual machines (VMs), the software to host the VMs, and finally the administrative overhead involved. Whether funding is a "big bucket" for all of IT or directly allocated to each department, system, or user in the company, the visibility of the costs needs to be available to IT.
Upfront planning is critical
Many VMware installations can quickly become fully allocated by using set standards for virtual machines. While you definitely don't want to under-provision a system from inception, you should definitely be aware of your requirements and the match the VM hardware inventory to be at or above those requirements. Too often, a "standard build" VM has an amount of disk space, RAM, and CPU allocation that is a one-size-fits-all VM for most applications. While that is fine if you have unlimited resources, that does not scale well for the rest of the world as we continue on the virtualization trend.
Suppose you have 30 virtual machines, and while only eight of them actually need the full allocation of processor, CPU, RAM, and disk space, you still used the "standard build" because it was available and easy to set up. From that quick deployment, you have 22 over-provisioned VMs; by being maxed out, they may prohibit you from provisioning future resources. IT pros should have an awareness of how to measure the impact of a virtual machine on the VMware Infrastructure. When they have this visibility, then we can correctly provision VMs to be the best fit for our environments.
VKernel is a chargeback virtual appliance available from the VMware Virtual Appliance Marketplace. VKernel specifically gives you visibility to how much of the hardware resources each virtual machine or host is consuming. With this, you can assign costs to each measurable and make reports to either use for cost allocation, or to have the data you need to seek more funding for your VMware environment or other IT projects.
VKernel is an appliance with a small footprint, only requiring slightly over 1 GB of disk space from the base build, and a base configuration using only 512 MB of RAM. The VKernel appliance is built on SUSE Linux and has a MySQL database and a Web-based front end.
VKernel can be run from a number of mechanisms, available for download, the evaluation appliance will turn on and pull a DHCP address. From there a quick logon and configuration and the appliance is underway collecting data and gathering statistics from the VMware Infrastructure. The appliance can be downloaded and running the VKernel evaluation appliance in a matter of minutes and then the system was collecting data.
Concern for over-aggressive monitoring
As with many monitoring or management tools, it's not advisable to implement a tool that will have a negative effect on the system it's managing or monitoring. With VKernel, these concerns are not applicable; VKernel is very unobtrusive to the VMware Infrastructure in how it collects its data, and it's documented that the initial collection will require some time. This is especially important if you are in dire need of some justification for more resources for your VMware environment. Many organizations have quickly grown their VMware footprints; but, due to physical to virtual conversion emergencies, poor initial planning, or other reasons, the system may be at its limits and you cannot sustain an additional performance hit.
The VKernel appliance will monitor a VMware ESX Server 3.x and higher; you can run it from within the ESX environment, a VMware Player, or a VMware Workstation. It also runs from the free VMware Server, but it's not documented as a supported platform. You can run the VKernel appliance outside of your ESX environment if you cannot provision the resources to run it within the ESX. VKernel doesn't need a fast network connection to the VMware host.
Reporting and cost chargeback capabilities
With VKernel, you'll be able to assign dollar value to the following hardware resources from the VMWare ESX infrastructure:
These can have associated costs per unit of measure, and are reflected on your chargeback report. These numbers will take some tweaking on your part to determine the applicable number for your actual costs. It also greatly depends what you want to determine with a chargeback report and how you should use it. You could be looking for a running trend over months, or possibly a quick snapshot from a particular day where use was a good example of average requirements (a baseline day). These reports will allow you to determine the cost of the slice of the VM environment for a single virtual machine, a single virtual machine host, or a collection of both or either.
Figure A shows a sample report for running 20 virtual machines with rates established as follows:
Now, it may seem that $453.91 per day is excessive, but you have the flexibility to manage the costs per group of systems in a way that suits your needs best. If you are including staff labor in the hardware numbers, you can easily see how this tool can be beneficial.
Resource costs are assigned in a concept with VKernel called a Business Service, this allows you to assign VMs to that service and then costs that you determine. Supple I have a Web development project from a team in the organization and they have a single VM for their Web site. I've made a Business Service called MonitorK for the project. That single VM is in that group, and the costs are assigned in the fashion shown in Figure B.
This particular VM has a daily chargeback report cost of $14.66 for that VM, based on the numbers listed above and the usage it endured. Should that VM use more resources, its costs will be reflected in the report. This would equate to about $5230.45 annually, so you can see the value of having the visibility.
The Business Services and Customers can be added dynamically for different granular views. Further, you can make a single VM, single VM host, or combination of quantities of either, members of multiple business services for different perspectives of what you may be seeking in your reporting strategy, or for different numbers for different situations. Further, the collection of data is kept independent of the membership in a Business Service, so if you or the customer deletes it, it can be re-created without loss of performance collection data.
The reports can run over various time intervals such as daily, weekly, this month, and this year. Figure C shows a sample image of running a report for a particular customer.
The VKernel reports allow you to export as .CSV or .PDF files, and are accessible via the Web browser interface.
Online forum for VKernel usage
Nearly every question you may have about the VKernel product can be answered in the VKernel Forums. Here you can find information about how the configurations may want to be used, as well as alternate configurations (such as using a static IP instead of DHCP).
One of the great things about VMware and VKernel is that it's truly a platform-independent solution. The VKernel appliance is a SUSE build, but can monitor the VMware ESX hosts and hosted VMs, which can be Windows, UNIX, Linux, or another OS. It simply interacts with the usage information from the VMware host.
Ammunition for the business
IT professionals should remain focused on the technology part of our jobs, and provisioning a solid VMware solution is the hard part. Luckily, proper planning upfront and a tool that can provide chargeback data for your VMware environment can allow you to have justifiable numbers for where your technology resources are going. This allows you to provision systems more accurately, as well as have good visibility to what is being used on your virtual environment, as all virtual machines are not created equal.
Rick Vanover is a software strategy specialist for Veeam Software, based in Columbus, Ohio. Rick has years of IT experience and focuses on virtualization, Windows-based server administration, and system hardware.