Virtualizing your x86 infrastructure has almost become a given. On the surface the benefits are pretty obvious.
- Increased up-time
- Reduced costs from resource pooling
- Enhanced DR capability
- Rapid server deployment
- Enhanced Test/Dev capability
As a virtualization administrator it is an easy sell to your management team. They understand both the technical and financial advantages of the solution. However, if your environment is like most other environments you have to not only deal with operations management but also with application owners. Virtualization administrator goals are rarely ever in-line with the goals of application owners. Administrators want to assign what will be used while application owners have different priorities. We’ve established that from an administrative perspective you right size VM’s according to needs of the application. This is pretty universal across hypervisors. If you have an Exchange server running in Hyper-V or in VMware and it requires 16GB of RAM and 2 virtual CPU’s to perform then you don’t assign it 32GB of RAM and 8 virtual CPU’s.
The later configuration creates performance risks if too many systems are over provisioned. Maybe more importantly, it reduces the opportunity for costs savings in your virtualized environment if you are approaching VM sizing the same way you do physical sizing. But we know that life just isn’t as simple as creating a policy that says that a VM will be sized according to what is used versus what is requested. Let’s talk a little inside baseball when it comes to most IT shops.
The application owners and operations teams normally report to two different lines of management within the IT organization. These two teams have similar goals but different perspectives of the IT mission. The operations teams are normally focused on efficiency, performance, costs and up-time. On the other hand, the application teams are normally focused on functionality, performance and up-time. The application team also is also more likely to directly interface with the business owners. They get the brunt of the day to day feedback on performance and up time of business applications. So, the application owners carry the big sticks within the IT team. If they say that their application needs 32GB of RAM and 8 vCPU’s then they normally get 32GB of RAM and 8vCPU’s. You can show that the application only uses 4GB and 2 vCPU’s but these numbers mean nothing to the application owner. They are normally driven by what the vendor says is required for a physical host.
This is one of the main pain points in a virtualization project. Striking a balance between the desires of the application owner and actually achieving the technical and financial goals of a virtualization project. The question is how do you avoid this issue? My answer has been by assigning some type of internal cost to infrastructure resources. This not only holds true with RAM and CPU but also with network and disk. If given the option, what internal customer would choose a VM with SATA Disk and a 1GB network connection over a VM with SSD storage and 10GB network adapters even if the application doesn’t need the performance?
This is where, when planning your virtualizaton project you need to produce a chargeback model for resources. It’s well worth the time and investment in tools to charge application owners for the resources they provision. It’s also a great way to prepare your organization for a hybrid Cloud. They will already understand the model and will be more willing to accept the associated catalog options.
Don’t think you have to go with a specific hypervisor to reap the benefits of a chargeback solution. VMware has a great solution in there Chargeback product but there are plenty of 3rd party Cloud Managers that offer business intelligence as part of their solution. NetIQ’s Cloud Manager is a solution that has a really strong Chargeback model that integrates with Hyperver-V, VMware and KVM. Or it can be as simple as a manual process that your run every month based on your VM inventory. Have you found that convincing application owners to right size their VM’s for their applications and what stick have you used to convince them to do so?