The Microsoft unified communications platform is becoming more tightly integrated and has a more resilient architecture.This article is based on the Lync Server 2013 Preview release.
The benefits of unified communications are becoming clear to organizations of all sizes. Bringing together voice and video and integrating with e-mail helps workers who are spread across different offices and different time zones communicate in whichever manner they prefer.
Lync Server 2013 is the latest edition of the Microsoft unified communications platform. Lync Server provides mission-critical performance, availability, scalability and expanded device support to ensure that collaboration and communications is widespread across the enterprise. Lync Server 2013 also supports a hybrid deployment model. For example, you can deploy Lync Server on-premises, in the cloud or a hybrid of the two topologies. All Lync workloads are also fully supported within a virtualized environment.
Most of the improvements to Lync Server 2013 are focused on the following categories: high availability (HA); scalability and performance; management; voice; video; conferencing; persistent chat; archiving and monitoring; Exchange 2013 integration; and client enhancements.
Microsoft has made significant enhancements to the Lync Server architecture to improve availability. The single biggest change has been the use of Paired Pools. Although Paired Pools still operate on the concept of a backup registrar and still interact with the clients in the same way, there’s one key difference from Lync Server 2010. This pairing is supported across datacenters and there’s no restriction on the distance between datacenters.
Perhaps more importantly from a disaster recovery planning perspective, there’s improved support for resiliency beyond just voice. That had been the focus of site resiliency in Lync Server 2010. Resiliency support for additional functionality such as Presence and Conferencing is a welcome addition. Lync Server 2013 also supports the synchronous mirroring capability of SQL Server 2012 to provide resiliency for the back-end databases.
Paired Pools and database mirroring provide a robust and effective framework for maximizing uptime. These availability enhancements will help you meet even the most stringent service-level agreements (SLAs).
Paired Pools provide site resiliency without placing limitations on distance between pools. More importantly, they ensure that all workloads are truly resilient. With those features in place, Lync Server 2013 will offer a near-seamless UX in the event of a failover.
The basis for Paired Pools is the concept of a backup registrar, which was introduced in Lync Server 2010. Extending this concept in Lync Server 2013, backup registrars have a 1:1 reciprocal relationship. It’s important to note the reciprocal nature of this relationship represents a change to what was allowed in Lync Server 2010.
When Lync Server 2013 pools are paired, a new service called the Lync Backup service ensures data is replicated between pools in real time in order to keep the pools synchronized. This real-time data replication also applies to the Central Management Store (CMS). When a pool hosting the CMS is paired with another pool, it creates a backup of the CMS and a Master/Standby relationship between the two database instances.
By adding support for synchronous SQL mirroring, Microsoft lets you easily provide site-level resiliency for the Lync back-end databases. Moreover, because SQL Server clusters are no longer supported, database mirroring is now the recommended approach for maximizing back-end server availability.
SQL mirroring doesn’t require you to use shared storage. You can also deploy it without using a file share witness. However, you must use a witness if you require support for automatic failover. If you use a witness, Microsoft recommends a 1:1 relationship. Each witness must be associated with a single pair of back-end servers. It’s important to note this 1:1 relationship is not a requirement. Microsoft will support a 1:N relationship, where you can use a single witness for two or more pairs of back-end servers.
Finally, although Persistent Chat (formerly known as Group Chat) is now an integrated server role in Lync Server 2013, it does use a different method for providing HA. You’ll have to deploy a stretched pool in order to achieve HA. This means a single Persistent Chat pool is defined in the Lync Topology, but the Persistent Chat servers are divided between datacenters. Deploying a split pool in this manner also requires that you deploy database mirroring to ensure data is replicated to the second datacenter.
By even the most demanding standards, the ability of Lync Server 2010 to scale was impressive. With support for up to 80,000 users per Enterprise Edition pool and multiple pools per deployment, Lync 2010 scaled to support the largest enterprises.
Using a concept known as Brick Architecture, the Lync Product Group was able to reduce the dependency on SQL Server by moving to a model whereby Lync and SQL Server were only loosely coupled. One of the most significant scalability enhancements is an anticipated increase in maximum users per pool. The actual number of supported users will be published at product release.
Besides supporting a much larger number of users per pool, changes to the Lync Server architecture mean that audio and video (AV) servers now scale much better. You no longer need dedicated AV servers. The AV role is now always co-located with the front-end servers. This co-location requirement is also true for other Lync Server 2013 roles, including archiving, monitoring and XMPP.
The central tenet of the Brick architecture is based on the idea that the coupling between Lync Server 2010 and SQL Server caused sub-optimal performance. By leveraging the capabilities of Windows Fabric, a management utility that handles replication, the Lync 2013 development team was able to implement a loosely coupled back-end store.
From an operational perspective, the single most visible aspect of these changes was that front-end servers are now responsible for managing user state. To support this method of managing presence, there were changes made to the algorithm that determined the server on which a user was actually homed in a pool.
In Lync Server 2010, this algorithm was based on a distribution of users across 10 possible servers. This ordered list of servers let the client determine which server to connect to in a given pool. However, as a result of the data replication that was required to ensure front-end servers could manage user state, the development team changed the algorithm to automatically assign users to User Groups.
Each of these User Groups is assigned to primary, secondary and tertiary server front-end servers, assuming that there are at least three servers in the pool. This means Windows Fabric maintains three copies of the user’s data on the front-end servers. If there are fewer than three servers in a pool, this obviously reduces the number of data copies. This in turn means Lync pools must now have a quorum. There must be a minimum number of healthy servers before starting a pool’s services. The actual quorum is a function of the total number of servers in a pool.
The robust management framework in Lync Server 2010 was based on functionality such as the Lync Server Control Panel, Lync Management Shell and Role-Based Access Control (RBAC). This remains true in Lync 2013. There have also been new roles added to RBAC, including Response Group Manager and Persistent Chat Manager.
The Lync Control Panel now lets you manage the Persistent Chat servers and configure Mobility policy and XMPP Federation. As part of these Control Panel changes (and to support other changes in Lync Server), there is also a series of new cmdlets in the Lync Management Shell.
Lync Server 2013 now supports a Centralized Logging Service. The Centralized Logging Service agent runs on all Lync Server 2013 servers. This lets you control all aspects of server logging.
The single biggest management enhancement relates to patching. Using Windows Fabric, Lync Server 2013 supports a concept known as an Upgrade domain. This process will let you patch servers without negatively impacting users.
These architectural and management changes cover how Lync Server 2013 works behind the scenes. There have also been many enhancements made to the feature set and to how Lync Server works with users. Next month, I’ll cover the user-facing improvements to Lync Server 2013.
Alan Maddison is an 18-year veteran of the IT industry, focusing primarily on Microsoft technologies. For the last seven years, he has worked as a consultant focusing on delivering professional services. He’s currently a senior consultant with Microsoft Consulting Services.