Mail, SQL, MS LCS, WSUS, you name it. Configure once, and never again. Now, admittedly, we don't hammer our SQL servers enough for virtualization overhead to actually matter...(so the IOPS freaks who turn pale grey and then explode all over the comments section can get off here.)
We've been running all of our servers in a virtualized environment for about two years now. Exchange 2007 doesn't give us a spot of bother. Admittedly, it does unrepentantly nom all 8GB of RAM it's been assigned, and seems hungry for more. (I should really remember to up it's allocation one of these days.) It seems RAM hungry…but not especially disk I/O or CPU intensive. (Mind you, it’s running about 100 mailboxes, so this is an observation that is really only accurate for the SME space. Larger enterprises have vastly different loading.)
Our domain controller VMs are so small as to be irrelevant. They sit there, provide directory services, DHCP, and DNS. Live communications server is the same deal. No problems there. They are assigned 512MB of RAM and consume less than 256MB. I rarely see them eat more than 1% of a core. (What a waste a piece of metal would be for those VMs!)
Now…WSUS? This is a whole different animal. That is one hungry VM. It likes RAM. Lots and lots and lots of RAM. It also uses a more disk space than anything else I have operational. I have watched this VM pin two cores. Busy little beaver, that VM. This despite a couple or rebuilds.
SQL is just a database. The more you ask of it, the less you can share resources with other VMs. Virtualization is not an inherently negative platform for SQL…but you need to keep an eye on loading and responsiveness. (IOPS freaks…hush. Overhead is overhead; whether it is induced by the hypervisor or your SAN. I’ll accept a % or two of “inefficiency” in exchange for being allowed to be lazy.)
We’ve a few dozen “number crunching” VMs scattered hither and yon that run applications that are tragically single-threaded, and so 8 of them on a dual-quad-core system takes up less space than 8 systems. Huzzah. They don’t seem to nom much RAM, so if you play what we call “VM Tetris” just right you can often get up to 16 of these things in the right box. (Half of the VMs being ones that typically run their compute projects outside the hours of the other half.)
And that’s my story. It really all boils down to VM Tetris. As much as virtualization enables ease of administration and management, you still have to understand the workload of all your VMs. You have to understand that capabilities of your hardware. You pack your VMs in with other VMs in such a way that they won’t impinge on one another, and you can do remarkable things. As an SME sysadmin, I’ve not had the pleasure of using the really high-end management tools for long periods of time. I’ve no appreciation for mow much; (if at all) they take the “VM Tetris” part of the job off your hands. For a sysadmin like me however, (someone who can’t afford better than ESXi, “VM Tetris” is just another part of the job. Some days you get a box, or an L, some days you get a squiggly jaggy thing you have no idea where to put. And the damned lines only come when you’re not ready for them.