Microsoft Lync planning on virtual machines
Depending on the services you wish to deploy, Microsoft Lync can be a complex beast that requires a multitude of separate servers. In order to help with what can otherwise be a daunting planning task, Microsoft makes available for download the Microsoft Lync Server 2010 Planning Tool. This tool can be installed on a Windows machine and provides you with a wizard-based method by which you can map out a sample Lync infrastructure. The latest version of the tool also provides you with guidance regarding the use of virtual servers in the deployed environment. In the figure below, you can see that the planning tool calls for the creation of a number of virtual machines -- denoted by the dashed outlines. The primary downside is that high availability for virtual roles in not considered. However, you could use the planning tool as if you were deploying to physical machines and merge the results from the virtual planning and build a high availability plan that works on your virtual machines.
As you move around the diagram, you can double-click on the servers. Note in the figure below that you're provided with a recommended virtual machine configuration as well as some physical host requirements. I use these details as guidelines, not requirements, particularly with regard to the physical host core count requirements.
Although the next feature that I like is not related to virtualization, it's a boon to those that have to plan complex firewall configurations to support sprawling Lync environments. In the figure below, take a look at another view offered by the planning tool. It shows you all of the rules that you need to create in your firewalls to support Lync's communications needs.
While it's not a perfect solution, I've found the Lync Planning Tool to be a great resource for foundational needs that I can then tailor to ongoing requirements.