Virtualization may be the best direction to go for your company, but like any good thing, there are always exceptions. Whether or not to virtualize tier-one applications is a question every company must carefully review. Virtualizing IO or throughput-intensive SQL database servers that support tier-one applications is no cake walk, especially those that focus on real-time data. This is not to say it cannot be done, but rather it’s a question of practicality.
When I’ve had to design for systems with multiple tiers, I have always hit a bottleneck when putting heavy IO database servers on physical hardware. VMware says that with vSphere 5 these “Monster VMs” can be virtualized. vSphere 5 supports larger VM configurations, that with the right hardware configuration can support up to 32 vCPUs, 1 TB of memory and upwards of 1 million IOPS. The additional features and support vSphere 5 offers for larger VMs are great.
Issues with large tier-one application VMs that I’ve come across are usually with storage IO, CPU and/or MEM latency. Latency in CPU or MEM can usually be addressed by using the reservations feature. While reservations can be a good, they have a downside. Reserved resources can’t be used by other VMs, which can reduce consolidation ratios. For example, if you have an HA/DRS cluster and use CPU or MEM reservations without planning for them upfront, you’ll be in for a big surprise. You may get far less utilization out of the servers than expected.