SPRA v2 Multi-Tenant Desktop Hosting Architecture Guide Version 1.0 Final 9-Feb-16 Prepared by <Partner> ii Table of Contents 1 Introduction ............................................................................................................................................ 5 2 Desktop Hosting Service Overview ................................................................................................ 6 2.1 Remote Desktop Services Architecture Overview ............................................................................................... 6 2.2 Provider Management and Perimeter Environments ........................................................................................ 8 2.2.1 Active Directory Domain Services ........................................................................................ 8 2.2.2 System Center 2012 R2 Virtual Machine Manager ........................................................... 9 2.2.3 SQL Server .............................................................................................................................. 10 2.2.4 Tenant Management Portal ................................................................................................ 10 2.2.5 Hyper-V Networking Virtualization Gateway .................................................................. 11 2.2.6 Scale-Out File Server ............................................................................................................ 12 2.2.7 Networking ............................................................................................................................. 13 2.3 3 Tenant Environment ..................................................................................................................................................... 14 2.3.1 Active Directory Domain Services ..................................................................................... 14 2.3.2 Remote Desktop Web Access ............................................................................................. 15 2.3.3 Remote Desktop Gateway ................................................................................................... 17 2.3.4 Remote Desktop Connection Broker ................................................................................ 18 2.3.5 Remote Desktop License ..................................................................................................... 18 2.3.6 Remote Desktop Session Host ........................................................................................... 19 2.3.7 User Profile Disks .................................................................................................................. 20 2.3.8 File Server ............................................................................................................................... 20 Desktop Hosting Infrastructure Logical Architecture ............................................................ 21 3.1 Basic Desktop Hosting Architecture ...................................................................................................................... 21 3.2 High Availability Desktop Hosting Architecture ............................................................................................... 23 3.3 Highest Availability Desktop Hosting Architecture ......................................................................................... 24 3.4 Other Tenant Services ................................................................................................................................................. 25 3.4.1 4 Microsoft Application Virtualization ................................................................................ 25 Tenant On-Premises Components ............................................................................................... 26 4.1 Infrastructure Components on Tenant’s Premises ........................................................................................... 26 4.2 On-Premises Active Directory Domain Services ............................................................................................... 27 3 4.3 Supported Remote Desktop Client Devices ....................................................................................................... 27 5 Desktop Hosting Infrastructure Security Considerations ..................................................... 28 6 Desktop Hosting Infrastructure Licensing Considerations .................................................. 28 7 Desktop Hosting Infrastructure Scalability Guidelines .......................................................... 31 7.1 Design Considerations for Hosting Very Small Tenants ................................................................................ 32 4 1 Introduction This document defines a set of architectural blocks for using Remote Desktop Services (RDS) to create multitenant, hosted Windows® Remote Desktop session and application services, referred to in this document as “desktop hosting.” The primary goal is to help customers create highly secure, scalable and reliable desktop hosting solutions for small- and medium-sized organizations with 5 to 5,000 users. See section 7.1 for specific guidelines to host very small tenants with 5-25 users with minimal cost and complexity. The primary audience for this reference architecture are hosted service providers who want to utilize Microsoft’s Windows Server and System Center software stack to deliver desktop hosting services and Subscriber Access Licenses (SALs) to multiple tenants through the Microsoft Service Provider Licensing Agreement (SPLA) program. A second audience for this reference architecture are end-customers who want to create and manage desktop hosting solutions in an on-premises private cloud environment for their own employees using RDS Client Access Licenses (CALs) available through Volume Licensing, OEM, and Retail programs. Extended Software Assurance (SA) rights may be applied if the end-customer organization is hosting in a 3rd-party multitenant environment (i.e., at a hoster) and wants to use their RDS CALs. To deliver a desktop hosting solutions, hosting partners and end customers utilize Windows Server® and the Windows Desktop Experience feature to deliver Windows users an application experience that is familiar to business users and consumers. Although Windows 8.1, Windows 7 and earlier Windows client versions are not licensed for hosting environments with shared hardware, the Desktop Experience feature in Windows Server 2012 R2 provides a similar user experience and application support. The scope of this document is limited to: Architectural design guidance for a desktop hosting service. Detailed information, such as deployment procedures, performance, and capacity planning, are explained in separate documents. Session-based desktops, RemoteApp applications and server-based personal desktops that use the Windows Server 2012 R2 Remote Desktop Session Host (RD Session Host) server role. Windows client-based virtual desktop infrastructures are not covered because there is not a Service Provider License Agreement (SPLA) for Windows client operating systems. Windows Server-based virtual desktop infrastructures are allowed under the SPLA, and Windows client-based virtual desktop infrastructures are allowed on 5 dedicated hardware with end-customer licenses in certain scenarios. However, clientbased virtual desktop infrastructures are out-of-scope for this document. Microsoft® products and features, primarily Windows Server 2012 R2 and Microsoft System Center 2012 R2. Desktop hosting services for tenants ranging in size from 5 to 5,000 users. For larger tenants, this architecture may need to be modified to provide adequate performance. The Server Manager RDS graphical user interface (GUI) is not recommended for deployments over 500 users. PowerShell is recommended for managing RDS deployments between 500 and 5000 users. The minimum set of components and services required for a desktop hosting service. There are many optional components and services that can be added to enhance a desktop hosting service, but these are out-of-scope for this document. Note: This SPRA v2 Multi-Tenant Desktop Hosting Architecture Guide builds upon the Infrastructure as a Service (IaaS) design guidelines provided in the following documents: o IaaS Product Line Architecture Fabric Architecture Guide o IaaS Product Line Architecture Fabric Management Architecture Guide o SPRA v2 Multi-Tenant Foundation Architecture Guide The Foundation document is publishing simultaneously with the Desktop Hosting document, therefore a URL is not available. The SPRA MT Foundation document is available on both the internal Services Portfolio, and external Microsoft Partner Network sites. We strongly recommend reading the above documents to review the IaaS recommended practices for Hyper-V host clustering, SOFS (Scale-Out File Server), Virtual network isolation with NGVRE (Network Virtualization using Generic Routing Encapsulation), Hyper-V guest clustering, etc. prior to reading this document. 2 Desktop Hosting Service Overview 2.1 Remote Desktop Services Architecture Overview RDS in Windows Server 2012 R2 is a collection of role services that support various remote desktop scenarios. RDS supports remoting from both sessions on a RD Session Host server and client guest virtual machines (VMs) on a Remote Desktop Virtualization Host server. Connection information for the Remote Desktop and RemoteApp sessions and VMs hosted on these servers may be stored 6 in an RDP file or displayed using the publishing features of Remote Desktop Web Access (RD Web Access). As illustrated in the following figure, the Remote Desktop Connection Broker (RD Connection Broker) routes incoming connections to the appropriate RD Session Host depending on the contents of the RDP file and its load balancing configuration. The Remote Desktop Gateway (RD Gateway) provides secure remote access to the RDS deployment and the Remote Desktop Licensing (RD Licensing) server handles licensing for RDS infrastructure. The following figure provides an overview of the architecture of RDS in Windows Server 2012 R2. Figure 1 – Windows RDS Architecture in Windows Server 2012/R2 RDS session virtualization, formerly known as Terminal Services, is an effective and mature centralized desktop infrastructure that many organizations deploy to increase user density on the host and therefore reduce costs. Windows Server 2012 R2 makes it easier to deploy this architecture by offering a session virtualization deployment scenario. A session virtualization deployment consists of RD Session Host servers and infrastructure servers, such as RD Licensing, RD Connection Broker, RD Gateway, and RD Web Access. The desktop hosting solution described in this document utilizes Windows Server 2012 R2 RDS capability to deploy session-based desktops or RemoteApp programs. Session-based desktop Virtualization – Using the RD Session Host server role, Windows Server 2012 R2 creates separate desktop sessions for multiple users on a single server. 7 Session-based RemoteApp virtualization) – Using the RD Session Host server role, Windows Server 2012 R2 creates separate RemoteApp sessions for multiple users on a single server. If a user starts more than one RemoteApp from the same server (the default behavior), all RemoteApp programs will run in the same session. Additional information: Remote Desktop Services Overview Windows Server 2012 R2: What’s New in Remote Desktop Services Using PowerShell to install, configure and maintain RDS in Windows Server 2012 R2 2.2 Provider Management and Perimeter Environments The provider’s desktop hosting service is implemented as a set of isolated tenant environments hosted on the service provider’s IaaS fabric. The SPRA IaaS fabric includes all of the foundational infrastructure components required to support a multi-tenant IaaS environment. The following subsections describe the components that comprise the management and perimeter networking components of the service provider’s IaaS fabric. For additional details regarding the provider IaaS Fabric architecture, see the SPRA v2 Multi-Tenant Foundation Architecture Guide. 2.2.1 Active Directory Domain Services The provider’s management infrastructure includes an Active Directory Domain Services (AD DS) server for the provider’s fabric management forest and domain, also referred to as the fabric management AD. All the hosts in the provider’s fabric and the virtual machines in the provider’s management environment are joined to the provider’s fabric management domain. All the provider’s administrative users have user accounts in the provider’s fabric management domain. The provider’s forest does not require any trust relationship with the tenant forests. For service providers who offer fully managed desktop hosting services, the provider will also have an AD DS server for the provider’s tenant management forest and domain, also referred to as the tenant management AD. Each managed tenant will have a tenant domain and forest with one-way trust to the tenant management domain. This allows designated tenant administrators to manage the tenant’s environment. Hyper-V host clusters can be used to provide a base level of high availability for the management and perimeter workloads. To provide a more continuously available service, two AD DS server guest virtual machines can be configured on two separate clusters. The first 8 AD DS domain controller that is deployed creates the provider’s domain and forest. By default, it holds the DNS role, and it is the operations master for all five operations master roles. A second domain controller is promoted as a replica in the provider’s domain. The second domain controller’s preferred DNS server must be configured to point to the IP address of the first domain controller before running the promotion user interface. Additional information: Active Directory Domain Services Overview Windows Server 2012 R2: What’s new in Active Directory Domain Services? Active Directory Domain Services (AD DS) Virtualization Planning to Virtualize Active Directory Domain Controllers 2.2.2 System Center 2012 R2 Virtual Machine Manager System Center 2012 R2 Virtual Machine Manager (VMM) is installed on a virtual machine in the provider’s management network, and it is joined into the provider’s management domain. The provider’s administrators use VMM to manage fabric resources and create and configure the virtual machines and virtual networks in the tenant environments. VMM utilizes a database in the SQL Server® failover cluster instance (FCI) that is also on the provider’s management network. The VMM console is installed to allow administrators to manually create virtual machines and virtual networks. A Tenant Management Portal can be automated by using Windows PowerShell® scripts, Windows Azure Pack (WAP) or the System Center 2012 R2 Service Provider Foundation (SPF). See section Error! Reference source not found. for more details regarding implementing a enant Management Portal using WAP or SPF. Before installing VMM, the following prerequisite components must be installed: SQL Server 2012 command-line utilities and the native client. This enables VMM to communicate with SQL Server, which is running in a separate virtual machine. Windows Assessment and Deployment Kit (ADK) for Windows 8. Hyper-V host clusters are used to provide high availability for the management and perimeter workloads, including VMM. Additional information: System Center 2012 R2 – Virtual Machine Manager 9 Overview of System Center 2012 – Virtual Machine Manager System Requirements for System Center 2012 R2 Preparing your environment for System Center 2012 R2 Virtual Machine Manager Installing a Highly Available VMM Management Server Windows ADK for Windows 8 Download - SQL Server 2012 Command Line Utilities Download- SQL Server 2012 Native client 2.2.3 SQL Server Microsoft SQL Server is used by VMM to save information about the data center deployment. Hyper-V host clusters are used to provide high availability for the management and perimeter workloads, including SQL Server. To provide a more continuously available SQL Server service, a native high availability solution can be implemented in SQL Server (e.g., SQL AlwaysOn Availability Groups). Additional information: Configuring a Remote Instance of SQL Server for VMM Using a Remote Empty Database for VMM Installation High Availability Solutions (SQL Server) AlwaysOn Failover Cluster Instances (SQL Server) Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager) 2.2.4 Tenant Management Portal The provider may want to create a tenant provisioning portal that resellers and tenant administrators can use directly to self-provision. A tenant provisioning portal for desktop hosting is not provided by Microsoft at this time, but one can be obtained from third party developers or developed by using the Windows Azure Pack or Service Provider Foundation (SPF) for System Center. Available to Microsoft customers at no additional cost, WAP comes as a collection of Windows Azure technologies that install in enterprise and service provider datacenters, integrating with their existing System Center and Windows Server environments. 10 WAP can be combined with the Basic, High Availability or Highest Availability architecture design patterns to provide robust management of tenant desktop hosting environments. The Service Provider Foundation is provided with System Center 2012 - Orchestrator, a component of System Center 2012 R2. Service Provider Foundation exposes an extensible OData web service that interacts with Virtual Machine Manager (VMM). This enables service providers to design and implement multi-tenant self-service portals that integrate IaaS capabilities available on System Center 2012 R2. Additional Information: Windows Azure Pack for Windows Server White Paper Windows Azure Pack Datasheet Windows Azure Pack Architecture Windows Azure Pack for Windows Server 2012 R2 Guide Service Provider Foundation Preparing your environment for System Center 2012 R2 Service Provider Foundation 2.2.5 Hyper-V Networking Virtualization Gateway The tenant’s components communicate with each other in a virtualized network environment that is based on Hyper-V network virtualization. Packets are isolated on the tenant’s virtual subnet using encapsulation. However, the tenant’s sessions running on the RD Session Host servers need to communicate with the non-network virtualized environment to access the Internet. This is done by using Hyper-V Network Virtualization Gateway, which de-encapsulates the packets and routes them to the Internet. Hyper-V Network Virtualization Gateway is multi-homed. One network adapter connects to the provider’s Network Virtualization (NV) network and carries encapsulated traffic from each tenant’s virtual subnet, and the other network adapter connects to the provider’s perimeter network. Hyper-V Network Virtualization Gateway can also support site-to-site virtual private networking (VPN) connections between the tenant’s on-premises network and the tenant’s virtual subnet in the provider’s data center. This is referred to as a hybrid cloud model in the Hyper-V Network Virtualization Gateway Architectural Guidehttp://technet.microsoft.com/enus/library/jj642895.aspx. 11 This allows the hosted desktops to access the on-premises resources. For example, a tenant’s desktop hosting environment can utilize line of business application servers on the tenant’s onpremises network. For self-managed, desktop hosting scenarios, a tenant’s desktop hosting environment can utilize an AD DS server on the tenant’s on-premises network. In this configuration, an AD DS virtual machine is no longer needed in the hosted environment. Alternatively, an AD DS virtual machine could be provided in the hosted environment, but promoted as a replica in the tenant’s domain. Note that in the self-managed scenario just described, the tenant and not the service provider maintains control of the environment. Ultimately, control is dictated by administrative access to the AD forest. When a tenant has control, the service provider is not able to guarantee service level agreements, nor service level targets. Microsoft provides Hyper-V Network Virtualization Gateway in Windows Server 2012 R2. Additional information: Hyper-V Network Virtualization Technical Details Windows Server 2012 Hyper-V Network Virtualization Survival Guide Hyper-V Network Virtualization Gateway Architectural Guidehttp://technet.microsoft.com/enus/library/jj642895.aspx NVGRE Draft RFC 2.2.6 Scale-Out File Server Physical storage in the provider’s data center is virtualized by using the Scale-Out File Server and other storage technologies such as storage pools, storage spaces, and virtual hard disks. Individual disks are combined in a chassis, pooled into logical storage units, and then exposed to the Hyper-V hosts as virtual hard disks on SMB 3.0 shares on the Scale-Out File Server. To provide highly available Cluster Shared Volumes (CSVs) to the Hyper-V host clusters, the Scale-Out File Server is also implemented in a failover cluster. All the storage hosts are members of the provider’s Active Directory forest, and they are included in the provider’s VMM fabric as storage servers. Additional Information: Scale-Out File Server for Application Data Overview What’s New in Failover Clustering? How to Configure a Clustered Storage Space in Windows Server 2012 12 2.2.7 Networking To support desktop hosting, a minimum of five independent networks must be implemented as follows: 1. External Network This network carries the incoming traffic from the public Internet through the provider’s firewalls. 2. Network Virtualization (NV) Network This network carries the encapsulated traffic for all tenants that are hosted in the provider’s data center. This network is not directly accessible by any of the tenants (it is only accessible through NVGRE). This network must use a pool of static IP addresses in the provider’s address space, and it must be defined in a VMM logical network pool. 3. Management Network This network carries the provider’s management traffic to manage fabric resources, such as storage and Hyper-V hosts, using the provider’s management AD DS and VMM. 4. Storage Network This network carries all storage traffic between the Scale-Out File Server and the Hyper-V hosts. 5. Perimeter Network This network carries traffic to and from the public Internet. 2.2.7.1 Tenant Management Virtual Network Service providers who offer fully managed desktop hosting services will create a network connection from the tenant’s virtual machines, including the tenant’s AD DS server, to the provider’s tenant management AD DS server. This network connection supports a one-way trust from the tenant’s domain and forest to the provider’s tenant management domain. To accomplish this, the provider can create a tenant management virtual network that connects to the provider’s tenant management AD DS server VM and then to the virtual machines in each managed tenant environment. Port access control lists (ACLs) must be configured on the Hyper-V hosts running the tenant virtual machines to restrict access to allow connections only to and from the provider’s tenant management AD DS server. This model can be extended to include other tenant management services offered by the provider by extending the range of IP addresses and ports allowed in the port CAL configuration. 13 2.2.7.2 Network Load-Balancing A load-balancing device located between the provider’s Perimeter and External networks enables load-balancing remote desktop connections to multiple Remote Desktop Web Access (RD Web Access) and Remote Desktop Gateway (RD Gateway) servers located within the tenant environments. 2.3 Tenant Environment The provider’s desktop hosting service is implemented as a set of isolated tenant environments hosted on the service providers IaaS fabric. Each tenant’s environment consists of a set of virtual machines, all communicating over an isolated virtual network. Each virtual machine contains one or more of the components that make up the tenant’s hosted desktop environment. The following subsections describe the components that make up each tenant’s hosted desktop environment. 2.3.1 Active Directory Domain Services The tenant’s network includes an Active Directory® Domain Services (AD DS) server for the tenant’s forest and domain. All the virtual machines in the tenant’s virtual subnet are joined to the tenant’s domain. All the tenant’s users have user accounts in the tenant’s domain. The VM used to deploy AD DS should have a virtual SCSI data disk attached and configured for the AD DS database and SYSVOL. If the provider is deploying AD DS solely in the tenant’s hosted environment (i.e., the tenant does not have a separate on-premises AD DS as is the case for most small tenants), then the DNS role will be deployed with AD DS and will serve as the primary DNS server for the other virtual machines in the tenant environment. To resolve names on the public Internet, the tenant’s DNS server forwards requests to a public DNS server. To provide a continuously available service, two AD DS server virtual machines can be deployed and configured in the tenant environment. The first AD DS domain controller deployed creates the tenant’s domain and the forest. By default, it holds the DNS role, and it is the operations master for all five operations master roles. A second domain controller is promoted as a replica in the tenant’s domain. The second domain controller’s preferred DNS server must be configured to point to the IP address of the first domain controller before running the promotion user interface. There are two tenant management models considered for this architecture, provider-managed and self-managed. For self-managed tenants, the tenant’s forest does not require any trust relationship with the provider’s tenant management forest. A domain administrator account will 14 be created in the tenant’s domain to allow the tenant’s technical personnel to perform administrative tasks in their environment (such as monitoring system status and applying software updates) and to for troubleshooting and further configuration. For provider-managed tenants, a one way trust is created from the tenant’s forest to the provider’s tenant management forest. A security group is created in the tenant management domain that will be used to manage this tenant. This group is then added to the local administrators group on all servers in the tenant’s RDS deployment so that the provider’s technical personnel can perform administrative tasks in the tenant’s environment. For small tenants, the cost can be reduced by combining AD DS, the file server, RD Connection Broker and RD Licensing roles on a single virtual machine on the tenant’s virtual network. Note: See the SPRA v2 Multi-Tenant Foundation Architecture Guide for details regarding the recommended networking design, security design and identity framework design for the SPRA multi-tenant hosting solution. 2.3.2 Remote Desktop Web Access The RD Web Access component allows the tenant’s employees to have a single website where they can authenticate and then access Windows desktops and applications that are hosted in the service provider’s desktop hosting service. By using RD Web Access, Windows desktops and applications can be published to a variety of Windows and non-Windows client devices, and they can be selectively published to specific users or groups. The RD Web Access component requires installation of Internet Information Services (IIS). A Hypertext Transfer Protocol Secure (HTTPS) connection is used to provide an encrypted communications channel between the clients and the RD Web server. The RD Web Access virtual machine must have a public IP address that is accessible through TCP public port of 443 to allow the tenant’s users to connect from the Internet using the HTTPS communications transport protocol. Matching digital certificates must be installed on the server and clients. For development and testing purposes, this can be a self-generated and self-signed certificate. For a released service, the digital certificate must be obtained from a trusted certification authority. The name of the certificate must match the Fully Qualified Domain Name (FQDN) that is used to access RD Web Access externally through the Internet. The RD Web Access VM must be dual-homed to connect from the provider’s external network to the tenant’s isolated virtual subnet. Consequently, it has two Hyper-V network adapters. Each of these adaptors is connected through a Hyper-V virtual network switch, and each switch 15 connects to the one of the host’s physical adaptors. One of the physical adaptors is connected to the provider’s external network and the other is connected to the provider’s NV network. The Hyper-V network adapter that is connected to the provider’s external network is configured by using VMM to connect directly to the external network so that packets on this network use the provider’s address space. The Hyper-V network adapter that is connected to the provider’s NV network is configured with Network Virtualization using Generic Routing Encapsulation (NVGRE) so that the packets are isolated to the tenant’s virtual subnet and address space. This enables users to connect from the public Internet to their RD Web Access server and access resources in the tenant’s isolated virtual subnet. This is shown in the following diagram. Dual-homed Guest VM Hyper-V Network Adapter Hyper-V Network Adapter Hyper-V Host Hyper-V Virtual Switch Hyper-V Virtual Switch Physical Network Adapter Physical Network Adapter Figure 2 - Dual-homed RD Web Access VM For tenants with small numbers of users, the RD Web Access and RD Gateway workloads may be combined in a single virtual machine to reduce cost. To provide a highly available service and to scale-out to larger numbers of users, additional RD Web Access virtual machines may be added to an RD Web Access farm. 16 Additional information: Deploying and Configuring RD Web Access Publishing RemoteApps in Windows Server 2012 R2 Distribution of Remote Apps and Desktops in Windows Server 2012 R2 2.3.3 Remote Desktop Gateway The RD Gateway component enables tenant employees who are using client devices on the public Internet to securely access Windows desktops and applications that are hosted in the service provider’s desktop hosting service. The RD Gateway component uses Secure Sockets Layer (SSL) to provide an encrypted communications channel between the clients and the server. The RD Gateway virtual machine must have a public IP address that is accessible through TCP public port of 443 to allow the tenant’s users to connect from the Internet using the HTTPS communications transport protocol and through UDP port of 3391 to allow users to connect using the UDP protocol. Matching digital certificates must be installed on the server and client. For development and testing purposes, this can be a self-generated and self-signed certificate. For a released service, the digital certificate must be obtained from a trusted certification authority. The name of the certificate must match the FQDN that is used to access RD Gateway externally through the Internet. For tenants with small number of users, the RD Web Access and RD Gateway can be combined on a single virtual machine to reduce cost. To provide a highly available service and to scale-out to larger numbers of users, additional RD Gateway virtual machines may be added to an RD Gateway farm. When deploying multiple RD Gateway servers in a farm configuration it is necessary to include a load-balancer that supports Source IP address affinity persistence between the Remote Desktop Client devices and the RD Gateway servers. Source IP address affinity persistence directs session requests to the same server based solely on the source IP address of a packet. External network connections must be brought in to the RDGW VM from by dual homing the RDGW VM as is also required for the RD Web Access VM. Additional information: Deploying and Configuring RD Gateway What’s New in Windows Server 2012 R2 RD Gateway RD Gateway Capacity Planning in Windows Server 2012 R2 17 2.3.4 Remote Desktop Connection Broker RD Connection Broker manages incoming remote desktop connections to the servers in RD Session Host server farms, known as collections. RD Connection Broker handles connections to collections of full desktops and to collections of RemoteApps. For new connections, RD Connection Broker can balance the load across the servers in the collection. For a session that was disconnected, RD Connection Broker reconnects the user to the correct RD Session Host server and the disconnected session, which already exists in the RD Session Host farm. To support single sign-on and application publishing, matching digital certificates must be installed on the RD Connection broker server and the client. For development and testing purposes, this can be a self-generated and self-signed certificate. For a released service, the digital certificate must be obtained from a trusted certification authority. The name of the certificate must be the internal Fully Qualified Domain Name (FQDN) of the RD Connection Broker virtual machine. The Windows Server 2012 R2 RD Connection Broker can be installed on the same virtual machine as AD DS to reduce cost. To provide a highly available service and to scale-out to larger numbers of users, additional RD Connection Broker virtual machines can be added to create an RD Connection Broker (Active-Active) cluster. To create an RD Connection Broker cluster, a Microsoft SQL Server AlwaysOn Availability Group must also be deployed in virtual machines. Additional information: Overview of Remote Desktop Connection Broker (RD Connection Broker) RD Connection Broker Performance and Scalability RD Connection Broker High Availability in Windows Server 2012 Overview of AlwaysOn Availability Groups (SQL Server) Step-By-Step: Creating a SQL Server 2012 AlwaysOn Availability Group 2.3.5 Remote Desktop License Each tenant’s environment includes an activated RD License server to allow users to connect to the RD Session Host servers that host the tenant’s desktops and applications. For hosted environments, the RD License server is configured in “per user” mode. The service provider must acquire the proper number of RDS Subscriber Access Licenses (SALs) based on the number of unique (not concurrent) users authorized to log on to the service each month. Service providers who offer hosted desktops must purchase the SALs through the 18 Microsoft Service Provider Licensing Agreement (SPLA) program. End-customers who purchase a hosted desktop solution from a service provider must purchase the complete hosted solution from the service provider. For small tenants, the cost can be reduced by combining the AD DS, the file server, and RD Licensing components on a virtual machine in the tenant’s environment. To provide a higher availability service, two RD License server virtual machines can be deployed in the tenant environment. All the RD servers in the tenant’s environment are associated with both RD License servers to ensure that users will be able to connect to new sessions even if one of the RD License servers is unavailable. Additional information: Overview of Remote Desktop Licensing Deploying Remote Desktop Licensing Step-by-Step Guide Managing RDS Licensing Using PowerShell on Windows Server 2012 R2 Generate Per User CAL Report Microsoft Volume Licensing: Licensing Options for Service Providers 2.3.6 Remote Desktop Session Host The RD Session Host component provides a tenant’s users with session-based desktops and RemoteApp programs. The desktops and applications can be accessed over the Internet from any device running a capable remote desktop connection client. See section 4.3 for more information regarding supported client devices. The remote desktops and applications can be organized into collections of one or more RD Session Host servers. The collections can be customized for specific groups of users within each tenant. For example, a collection could be created so that a tenant’s accounting group can access accounting applications, but the engineering group cannot access them. The applications can be installed directly on the RD Session Host servers. For larger deployments, streaming applications to the RD Session Host from an App-V server is recommended to reduce the maintenance costs. To provide higher availability of the collections and to increase scale to support more users or applications that use more computer resources, each collection can be expanded by adding RD Session Host server virtual machines to a collection farm with each RD Session Host virtual machine within a collection assigned to same tenant environment. 19 In most cases, the RD Session Host servers are shared by multiple users simultaneously. This is the most efficient way to utilize the IaaS fabric resources (e.g., compute, storage and network) for a desktop hosting solution. In this configuration, users must sign in to collections by using non-administrative accounts. In certain cases, some users want full administrative access to their own personal desktop. This can be achieved by creating a collection with 1 RD Session Host virtual machine for each user who wants administrative access. When the user signs in to a desktop collection, by default, the user sees a server desktop. Administrators can install the Desktop Experience feature and customize the default profile to provide a more client-like experience for the end-user. We strongly recommend utilizing the Desktop Experience feature as part of a desktop hosting solution. Additional customizations can be made by creating a virtual hard disk that contains the Windows Server operating system to be used as a template for creating RD Session Host virtual machines. Additional information: Desktop Experience Overview Desktop Experience in Windows Server 2012 R2 Install Desktop Experience on Windows Server 2012 2.3.7 User Profile Disks User Profile Disks allow users to save personal settings and files when they are signed in to a session on an RD Session Host server in a collection, and then have access to the same settings and files when signing in to a different RD Session Host server in the collection. When the user first signs in, a user profile disk is created on the tenant’s file server, and that disk is mounted to the RD Session Host server to which the user is connected. For each subsequent sign-in, the user profile disk is mounted to the appropriate RD Session host server; and with each sign-out, it is un-mounted. The contents of the profile disk can only be accessed by that user. Note: Microsoft does not recommend combining User Profile Disks with Roaming User Profiles. Additional information: Easier User Data Management with User Profile Disks in Windows Server 2012 R2 2.3.8 File Server The tenant file server provides shared folders by using the Server Message Block (SMB) 3.0 protocol. The shared folders are used to create and store user profile disk files (.vhdx), to backup data and to allow users a place to share data with other users in the tenant’s Cloud Service. 20 The VM used to deploy the file server should have a SCSI virtual data disk attached and configured with shared folders. For small tenants, the cost can be reduced by combining the file server, AD DS, and RD Licensing components on a virtual machine in the tenant’s environment. To provide a higher availability service, two file server virtual machines can be deployed in the tenant environment and configured as a guest cluster using a shared virtual SCSI disk. Additional information Overview of File and Storage Services in Windows Server 2012 R2 Deploy a Guest Cluster Using a Shared Virtual Hard Disk 3 Desktop Hosting Infrastructure Logical Architecture This section describes design patterns for three desktop hosting architectures that provide increasingly higher levels of availability; Basic, High Availability and Highest Availability. The SPRA IaaS Fabric includes all of the foundational infrastructure components required to support a multi-tenant IaaS environment. 3.1 Basic Desktop Hosting Architecture This section describes the basic desktop hosting architecture (Basic Architecture) design pattern which is intended to provide hosted desktop sessions and RemoteApps with the least cost and complexity possible. The following diagram provides an overview of the basic desktop hosting logical architecture. 21 Public Internet Provider Services Management AD VMM Perimeter SQL Firewall WAP HNV Gateway LB Tenant1 RDS Deployment ... Desktop Hosting Service VM Other Tenant Services AD File Server RDGW RDLic RDCB Providr Fabric Storage Network RDSH RDSH VM VM Session Desktop RemoteApp Collection Collection VM Compute RDWeb Hyper-V hosts Scale-Out File Servers, JBOD arrays, tiered HDDs/SSDs, ... Switches, multiple redundant networks, teaming, ... Figure 3 – Basic Desktop Hosting Logical Architecture The basic desktop hosting architecture requires the lowest cost and complexity to implement, but provides the lowest availability. All the tenant components of the basic architecture can be hosted on a non-clustered Hyper-V hosts. This architecture employs a single instance of each RDS server role (i.e., RD Licensing, RD Connection Broker, RD Web Access, RD Gateway and RD Session Host). The RD Gateway and RD Web Access roles are combined in one Windows Server 2012 R2 server VM. For smaller tenants, the Active Directory Domain Services, File Server, RD Licensing and RD Connection Broker server roles are combined in a second Windows Server 2012 R2 server VM. For larger tenants, the role services should be separated into individual VMs. One Windows Server 2012 R2 VM with the RD Session Host server role enabled is required to host Remote Desktop sessions. A second (optional) Windows Server 2012 R2 VM with the RD Session Host server role enabled is required to host RemoteApp, if needed. Additional Information: See section 3.4.1 for more information regarding the App-V technology. 22 For architecture details regarding the provider fabric and provider services, see the SPRA v2 Multi-Tennant Foundation Architecture Guide document. 3.2 High Availability Desktop Hosting Architecture This section describes the high availability desktop hosting architecture (HA Architecture) design pattern which is intended to provide hosted desktop sessions and RemoteApps with greater availability than the Basic Architecture design. The following diagram provides an overview of the high availability desktop hosting logical architecture (HA architecture). Public Internet Provider Services Management AD VMM Perimeter SQL Firewall WAP LB HNV Gateway Tenant1 RDS Deployment Desktop Hosting Service VM Other Tenant Services AD VM Providr Fabric Compute Storage Network File Server ... RDGW RDLic RDCB RDSH RDSH VM RDWeb RDSH RDSH VM Session Desktop RemoteApp Collection Collection Hyper-V hosts, host clusters, ... Scale-Out File Servers, JBOD arrays, tiered HDDs/SSDs, ... Switches, multiple redundant networks, teaming, ... Figure 4 – High Availability Desktop Hosting Logical Architecture The HA Architecture requires additional cost and complexity to implement vs. the basic architecture model; however, it provides increased availability. The tenant components of the HA Architecture are hosted on a multi-node Hyper-V host cluster. This HA Architecture employs a single instance of each RDS server role (i.e., RD Licensing, RD Connection Broker, RD Web Access, RD Gateway and RD Session Host). The RD Gateway and RD Web Access roles are combined in one Windows Server 2012 R2 server VM. For smaller 23 tenants, the Active Directory Domain Services, File Server, RD Licensing and RD Connection Broker server roles are combined in a second Windows Server 2012 R2 VM. For larger tenants, the role services should be separated into individual VMs. At least one Windows Server 2012 R2 VM with the RD Session Host server enabled is required to host Remote Desktop sessions. At least one Windows Server 2012 R2 VM with the RD Session Host server enabled is required to host RemoteApps. 3.3 Highest Availability Desktop Hosting Architecture This section describes the highest availability desktop hosting architecture (Highest Availability Architecture) design pattern which is intended to provide hosted desktop sessions and RemoteApps with greater availability than the High Architecture design. The following diagram provides an overview of the Highest Availability architecture Public Internet Provider Services Perimeter Management AD VMM SQL Firewall WAP HNV Gateway LB Tenant1 RDS Deployment Desktop Hosting Service ... Other Tenant Services AD VM SQL SQL File Server VM RDGW VM RDLic RDCB VM VM RDWeb VM VM RDSH RDSH VM RDSH RDSH VM Session Desktop RemoteApp Collection Collection Providr Fabric Compute Storage Network Hyper-V hosts, host clusters, ... Scale-Out File Servers, JBOD arrays, tiered HDDs/SSDs, ... Switches, multiple redundant networks, teaming, ... Figure 5 – Continuous Availability Desktop Hosting Logical Architecture 24 The CA architecture requires additional cost and complexity to implement vs. the HA architecture model; however, it provides the highest level of availability. The tenant components of the CA architecture are hosted on a minimum of a two-node Hyper-V host cluster. All desktop hosting server VMs are implemented as HA VMs. The CA architecture employs redundant instances of all RDS server roles (i.e., RDLic, RDCB, RDWeb, RDGW and RDSH), each implemented in separate WS2012 R2 server VMs. The RD Connection Broker role is implemented as an Active-Active High Availability Connection Broker (HA RD Connection Broker). The HA RD Connection Broker requires a SQL Server instance to host the HA RD Connection Broker database. The SQL Server instance is implemented as a SQL AlwaysOn cluster that requires two SQL Server instances running two Windows Server 2012 R2 VMs that utilize Hyper-V guest clustering. Two tenant Active Directory Domain Controllers are implemented as separate HA Hyper-V VMs. The File Server is implemented as a File Server Cluster implemented in two separate Windows Server 2012 R2 VMs that utilize Hyper-V guest clustering to provide shared storage. At least two Windows Server 2012 R2 VM with the RD Session Host server role enabled is required to host Remote Desktop sessions for highest availability. At least two Windows Server 2012 R2 VM with the RD Session Host server role enabled is required to host RemoteApps for highest availability. 3.4 Other Tenant Services 3.4.1 Microsoft Application Virtualization Microsoft Application Virtualization (App-V) technology increases business agility through faster application deployment and updates with no user interruptions. It minimizes conflicts between applications, allowing enterprises to reduce application compatibility testing time. App-V is an optional component that can be employed to significantly simplify deployment and management of Windows application software within the desktop hosting infrastructure. The App-V server also needs to host a SQL database on the SQL Server VM. If App-V is included in the Highest Availability architecture, two App-V servers are implemented as a separate Windows Server 2012 R2 VMs. In the HA App-V configuration the App-V SQL database should be hosted with a SQL AlwaysOn Availability Group implemented with two separate Windows Server 2012 R2 VMs that are clustered using Hyper-V guest clustering. 25 Additional information: App-V product info site Getting Started With App-V 5.0 Improvements introduced with App-V 5.0 SP2 The Official Microsoft App-V Blog Performance Guidance for Application Virtualization 5.0 4 Tenant On-Premises Components 4.1 Infrastructure Components on Tenant’s Premises This section describes the optional infrastructure components that reside on the tenant’s premises. Smaller tenants (e.g., small businesses with few employees and no on-premises Active Directory or other back-end application server infrastructures) will not require any on-premises back-end infrastructure components. Larger tenants that require client applications running within the hosted virtual desktops to access back-end on-premises infrastructure will required a site-to-site VPN to be setup between the customer’s premises and the service provider’s desktop hosting environment. The following diagram shows the infrastructure components that may be required on the customer’s premises. Tenant 1 Premises VPN AD Other Tenant On-premises Services Figure 6 – Infrastructure Components on Tenant’s Premises 26 4.2 On-Premises Active Directory Domain Services Some larger and more sophisticated tenants may choose to host an Active Directory Domain Services (AD DS) Domain Controller server on their premises. In a managed service scenario, the on-premises AD DS is known as the Customer AD. The Tenant AD, deployed in the service provider’s environment, is in control of the desktop hosting service for the tenant. Identities from Customer AD are synchronized to the Tenant AD. In a hosting scenariothe Tenant AD will typically be a replica of the Customer AD DS server that is on the tenant’s premises. This is supported by creating a virtual network in the tenant’s Cloud Service and using a site-to-site VPN to create a secure connection from the tenant’s onpremises network to the tenant’s virtual network in the service provider’s desktop hosting service. 4.3 Supported Remote Desktop Client Devices To access the hosted desktops and applications, the tenant’s users must use Remote Desktop Connection (RDC) clients that support Remote Desktop Protocol (RDP) 7.1 or higher. In particular, the client must support RD Gateway and RD Connection Broker. To deliver applications to the local desktop, the client must also support the RemoteApp feature. To achieve highest gateway scale, the client must support the pure HTTP transport connections to RD Gateway. Examples include the RDC clients that are available in computers running Windows 7 with SP1 with latest updates or Windows 8.1 and the Microsoft Remote Desktop apps for non-Windows operating systems. Additional information: RemoteFX Enabled Devices What’s new in Windows Server 2012 R2 Remote Desktop Gateway Remote Desktop app for Windows in the Windows Store Microsoft Remote Desktop - Android Apps on Google Play Mac App Store - Microsoft Remote Desktop Microsoft Remote Desktop on the App Store on iTunes 27 5 Desktop Hosting Infrastructure Security Considerations This SPRA v2 Multi-Tenant RDSH Reference Architecture Guide is designed to provide a highly secure and isolated environment for each tenant. The security of the system also depends on safeguards taken by the provider during deployment and operation of the hosted service. Following is a list of some mitigations that the provider must consider to help make sure the security of a desktop hosting solution based on this reference architecture. All administrative passwords must be strong, and ideally randomly generated, changed frequently, and saved in secure central location that is only accessible by a select few provider administrators. Care must be taken when replicating the tenant environment for new tenants to avoid using the same or weak administrative passwords. The RD Web Access site URL, name and certificates must be unique and recognizable to each tenant to mitigate spoofing attacks. During the normal operation of the desktop hosting service, all access to all VMs from the Internet should be removed except the for the HTTPS and UDP ports for the RD Web and RD Gateway VM that allow users to securely connect to the tenant’s desktop hosting cloud service from the Internet. Additional information: Security and Protection Overview Strong Passwords Security Best Practices for IIS 8 Secure Windows Server 2012 R2 See the Security Design section of the SPRA v2 Multi-Tenant Foundation Architecture Guide document for additional security recommendations. 6 Desktop Hosting Infrastructure Licensing Considerations The following changes to RDS CAL licensing in Windows Server 2012 R2 are effective as-of November 1, 2014: Windows Server 2012 CALs provide entitlement to R2 functionality. RDS User CALs Extended Rights through Software Assurance Customers are be able to access the Windows Server GUI running on Windows Azure or on a 3rd-party’s shared server environment, without acquiring a separate RDS SAL. 28 The following tables list the desktop hosting scenarios and associated Windows Server 2012 R2 RDS license types: Service Provider Scenario Type SAL Mode Per user Technical SPLA agreement number only Basis Unique users authorized to access the desktop hosting environment Source From SPLA reseller. Special case: Software Assurance customer may bring their own per user CALs. Who pays Microsoft? Service Provider Table 1 – RDS Licensing for Service Provider Scenario Self-Hosted Software Assurance Customers in Partner Hosted Cloud Scenario Type CAL Mode Per user Technical CALs added to RD License Server Basis Unique users authorized to access the desktop hosting environment Source Microsoft or CAL reseller Who pays Microsoft? End-customer (tenant) Table 2 – RDS Licensing for Self-Licensed Software Assurance Customers in Partner Hosted Cloud Scenario Enterprise Private Cloud Scenario Type CAL Mode Per user or per device Technical CALs added to RD License Server Basis Unique users or devices accessing the desktop hosting environment Source Microsoft or CAL reseller Who pays Microsoft? End-customer (tenant) Table 3 – RDS Licensing for Enterprise Private Cloud Scenario 29 Additional information: Windows Server 2012 R2 – Remote Desktop Services Licensing Data Sheet Microsoft Volume Licensing: Licensing Options for Service Providers 30 7 Desktop Hosting Infrastructure Scalability Guidelines In a typical hosted RDS deployment, the RD Session Host and RD Gateway server VMs will be the limiting factors in scaling. When considering RD Session Host and RD Gateway VM scaling one should consider the following. RDS infrastructure scaling is highly workload and infrastructure dependent. When verifying the scalability of a desktop hosting infrastructure, it is important to average across measurements of actual workloads (i.e., real users using real applications on the target infrastructure). Note: The sizing estimates provided in this section are based on Dell PowerEdge R720 servers with Dual Socket 10C Intel® Xeon® processor E5-2600v2 40 Logical cores and 128 GB Memory. Scaling estimates are hardware dependent and will change over time as new hardware becomes available. The following table lists general scaling recommendations for RD Session Host and RD Gateway VMs with a light, medium and heavy user workloads. Server Light Medium Heavy RD Session Host1 8 users / vCPU 5 users / vCPU 4 users / vCPU 270 MB RAM / user 450 MB RAM / user 630 MB RAM / user 200 connections / vCPU 200 connections / vCPU 200 connections / vCPU 1 Mbps / connection 1 Mbps / connection 1 Mbps / connection RD Gateway2 Table 4 – General RD Session Host and RD Gateway Sizing Guidelines Following are example3 RDSH and RDGW VM sizing recommendations for a desktop hosting infrastructure designed to support 15 concurrent users: RDSH environment sizing to support 15 concurrent users o o RDSH: 2 VMs with 2 vCPU and 1.75 GB RAM each RDGW: 1 VM 1 The RDSH sizing example is based on testing performed using the Login VSI 4.0 Light, Medium, and Heavy Workloads. 2 The RD Gateway sizing example is interpolated from the information in the RD Gateway Capacity Planning in Windows Server 2012 document. 3 These examples are intended for approximate sizing only. Your results may vary. 31 Additional information: For additional RDS sizing details, see slides 40-47 in the TechEd North America 2014 PCIT-B338 presentation. RD Gateway Capacity Planning in Windows Server 2012 7.1 Design Considerations for Hosting Very Small Tenants The primary purpose of this document is to show how to support very small tenants with 20-25 users in a cost effective way. This section describes some design considerations for hosting very small tenants. Right size the VMs to support auto-scaling (i.e., spinning up and down RD Session Host VMs dynamically based on demand. To support auto scaling RDSH VMs, smaller sized RD Session Host VMs for finer granularity of VMs is recommended (e.g. two 4 cores VMs vs. one 8 core VM). For an example of how to auto-scale RD Session Host VMs using a PowerShell script see Automatic Scaling of Remote Desktop Session Hosts in Azure Virtual Machines. While the example PowerShell script above is designed to auto-scale RDSH servers running in IaaS VMs hosted in the Microsoft Azure cloud, it can be adapted to work in a hosted service provider environment. Windows Server 2012 R2 RDS role services can be combined to minimize the number of VMs and resources required to support each tenant. For small tenants, the cost can be reduced further by combining the file server and AD DS with the RDS components on a single virtual machine in the tenant’s environment, such as the AD DS and RD License components. 32