The long-established trend to virtualize resources might suggest that applying virtualization, whether based on VMware or Microsoft Hyper-V, to a Lync infrastructure could be the likely, if not obvious, choice.
This is especially true when virtualization has already undergone successful adoption by your customer, and their IT teams are pushing for it. This also applies to UC partners who sell cloud-based Lync solutions, which are either single or multi-tenanted.
Virtualization is another among the many overlooked aspects that has led many Lync projects to the risk of failure. It should be noted that early documentation about Lync virtualization requirements was somewhat vague. However, the release of the Lync Server 2013 Virtualization white paper filled this gap.
The main issues that arise from virtualization relate to the system's performance. Virtualization plays an important role in cost optimization by leveraging hardware resource-sharing techniques among virtual servers, so that a physical host may run more virtual servers than what the nominal hardware specifications might suggest.
Lync Server, due to its inherent nature of real-time communications platform, however, is more sensitive to computational resource shortage (even temporary) than most other applications and requires special treatment. A temporary performance issue on an e-mail server application would most likely be unnoticeable to users; the same situation on Lync would have a potentially disruptive effect on users' experience, including calls unexpectedly being terminated, poor audio quality (audio dropouts similar to poor mobile coverage), and so on.
Lync virtualization, therefore, demands for very specific planning and configuration, which we aim to describe in the next section.
We may be pointing out the obvious, but we assume you will be using a certified Hypervisor for your deployment. The list of supported and/or validated virtualizing infrastructures is included in Microsoft SVVP supportability pages available at http://www.windowsservercatalog.com/svvp.aspx, and includes, among others, the following:
The first item you must address is planning for server capacity; you will need to ensure that you assign the correct hardware resources to your virtual machines based on Microsoft's specifications, remembering an additional overhead of around 5% to 10% above what an equivalent physical server would require.
Microsoft's recommended requirements for Lync Servers are the following.
For Lync Front End, SQL Server (Lync backend), and Persistent Chat servers:
HW component |
HW requirement |
---|---|
CPU |
64-bit dual processor, quad-core, 2.6 GHz or higher |
Memory |
32 GB |
Disk |
One of the following:
|
Network |
Two interfaces required, either one 2-port 1 Gbps NIC or two 1-port 1 Gbps NICs. |
For Lync Edge, Director, and standalone Mediation Servers
HW component |
HW requirement |
---|---|
CPU |
64-bit dual processor, quad-core, 2.6 GHz or higher |
Memory |
16 GB |
Disk |
One of the following:
|
Network |
Two interfaces required, either one 2-port 1 Gbps NIC or two 1-port 1 Gbps NICs. |
Refer to the TechNet article at http://technet.microsoft.com/en-us/library/gg398835.aspx for more details on hardware requirements.
Smaller environments might call for some slight adjustments on the hardware specifications, as some sources may suggest, but we recommend that you stick with Microsoft's recommended specifications.
You will also need to apply the following other specific hardware-related configuration:
Secondly, you need to plan for the virtual machines' placement. On a Lync solution that employs multiple-node pools for resiliency (Enterprise Front End pool, Edge pool, Mediation pool, and so on), it is essential that some servers in the pool remain functional for service continuity. When planning your Lync Server's placement, ensure that your virtualizing infrastructure can honor the Lync resiliency model so that you can split virtual servers consistently. Some examples of poor planning are as follows:
Action: split Lync virtual servers across multiple physical hosts; make sure there is no single point of failure in each component, and configure anti-affinity rules so that Lync Servers with identical roles are not hosted on the same physical server.
Third, you should consider resiliency. Lync Server 2013 and its related dependencies such as SQL Server come with its own set of native software-level resiliency techniques, such as:
Virtualization software has also long employed availability features such as Live Migration (Microsoft Hyper-V) or vMotion (VMware), and virtual machines' snapshots. These techniques allow a live virtual server to be moved from one physical host to another without disruption of service availability. Snapshots can be used to restore a virtual machine to a given state. Although it might be tempting to use these with Lync Server, none of them are supported because there is currently no technical solution to move an active media session without appreciable impact to users (maybe in the future). At present, Lync VMs must be shut down before they can be moved. In addition, restoring a virtual snapshot of a Lync Server will have completely unpredictable and, most likely, adverse results.
Action: ensure no vMotion or Live migration is configured on Lync VMs. Do not use virtual snapshots as a disaster recovery method for Lync Server.
Fourth, you should plan for resource monitoring. Because of the additional layer of hardware abstraction adopted through virtualization, resource monitoring is more complex. On a deployment based on physical servers, you would typically monitor resources such as performance counters and disk I/O; on a virtualized environment, additional monitoring will be required on the physical hosts so that, in case of performance issue, the root cause can be narrowed down to the physical or virtual layer.
The decision about whether to take the virtualization path or not is a fundamental design decision that should be made in the very early project phases.
You may expect the team that is managing the virtualizing infrastructure to object to Microsoft's prescriptive guidance and requirements to virtualize Lync Server, and insist on leveraging features such as hardware resource sharing/oversubscription, dynamic virtual machine migration, and so on.
Furthermore, the inability to use advanced features may impair virtualization's operational efficiency and render the virtualization option less attractive to a business, due to the requirement of dedicating host resources to Lync virtual servers. It will be fundamental here to consider a cost/benefit analysis.
Planning a Lync Server 2013 Deployment on Virtual Servers is a fundamental read. It provides guidance to deploy Lync Server 2013 on virtual servers. It includes recommendations for the configuration of host servers and guest servers, key health indicators to watch during testing and deployment, and observations from Microsoft performance testing of Lync Server 2013 in a virtual environment. It is available at http://www.microsoft.com/en-us/download/details.aspx?id=41936.