Microsoft releases new and improved Remote desktop services solution with Windows server 2016 and this is fully supported in Azure Infrastructure as a service platform. You can deploy your RDS farm in top of Azure IAAS and get the benefits of azure features such as pay as you go and the scalability.
From my previous post, I have discussed what are the new features and design changes of Remote desktop 2016. From this post I’m talking about what are the design considerations when you are planning to put your RDS solution in azure and the server sizing.
Use of elastic features of Azure
You can bring up Additional Session host servers when you actually require them. Also deallocate them when less users are active. This will save great deal of money, in example when company holidays your servers are switched offed and VM’s are not getting billed. There is a new automation tool for this, RDSH Auto-Scaling script. This is a PowerShell script running in the Connection broker which is scaling the RDSH servers up and down based on usage by hours.
Use of varies VM’s on Azure
In azure there are number of different types of VM’s to select. According to the RDS workload you can select the VM type, high performance and memory you can use G-series, or N-series if you prefer high VGA performance. Also you can deploy the Session host server instantly.
Use Azure SQL for Connection broker database
You can use Azure SQL service for hosting connection broker database, this will also address the High availability requirement of the SQL database for broker servers. It’s actually save great deal of hardware and licensing cost.
Use of Storage space direct for User Profile Disks
With RDS 2016 in azure you can use Storage Space Direct for the file server of UPD. You don’t need shared storage cluster which is still not possible in Azure. Storage space Direct enable scale out file server (SOFS) using Azure VM’s. You can use two small VM’s with Storage Space Direct and enable high availability to your User Profile Disks.
Use of Azure AAD domain services - preview
With this new feature you can manage user accounts through Azure active directory. Before this all the user management have do via Domain controllers and for that you need to have two additional domain controllers in HA. But with this new feature you only need to have AD sync service to sync the user objects to Azure AAD.
Use of Availability sets
Allow us to deploy two or more VM’s with same roles in an availability set, that azure cannot shut down or restart those in a same time for maintenance. HA in Azure
User of azure load balancers
Azure has a built in load balancer, which you can use for internal or external use. This can be used in RDSH server pool
Connectivity and public IP addresses
You can use the public IP’s that is available in Azure to access the RDS. Also the connectivity to RDS reliable, if you host your RDS in a local datacenter, you have to have multiple internet links for fail safe. But with Azure you can assure the connectivity.
Above figure display a complete high available Remote desktop solution for Azure. It contain two connection brokers HA with Azure SQL database and licensing role is co-located. Two VM’s in an availability set for User profile disks and it will use Storage space direct Azure service. Also Session host servers in availability sets, so they will not restarted in the same time for an Azure maintenance. In a separate network (DMZ), gateway and web servers can be placed. You can use Azure external load balancer for client connectivity.
High available Connection broker
Previously in server 2012 R2, you need to have two or more connection brokers with separate SQL HA solution, probably a SQL mirror or a SQL cluster. But with remote desktop 2016 and placing it in Azure, you can use the Azure SQL database, which will provide the HA to the brokers.
Session Host
As discussed earlier, you can get lot of benefits while using Azure VM’s for session host server. Having them in an availability sets, Azure cannot restart them all together when a maintenance restart.
HA file server in Azure for UPD
As mentioned before, you can use shared storage space in Azure with two VM’s in an availably set to build a High available file server. This file server can be used to host the User profile disks.
Recommended configurations
Microsoft has published following table for sizing for two node S2D SOFS in azure VM’s for UPD, (5GB per user)
Remote desktop 2016 have backward compatibility to session host servers. So you can use windows server 2012 R2 session host images with RDS 2016. This make you to upgrade the infrastructure and then after testing you can upgrade the session host servers. Following table extracted from a Microsoft ignite video which is about the supported configurations.
When planning a Remote desktop solution, scaling is one of the top most important factor. Session host servers are the most used part of the RDS because it host the applications. So it is common to the bottlenecks. Next would be the Gateway servers, because all the active connections go through that. Connection brokers are less involved in bottlenecks because it’s only used when initiating a connection. And server 2016 RDCB is much more improved to face a large logon storms. Also it’s same with the RD Web access and licensing servers. They are only involved in logon process.
Remote desktop session host scaling for Azure
Measuring the exact usage capacity of a user is a bit tricky because it’s sourly depend on the workloads and the applications which user tends to run. If you are already having a RDS infrastructure, you can use it to collect the information for a period. You can use a tool like Microsoft Assessment and planning kit. Or you can use the following guideline to get an idea
Sizing RDSH VM’s for 400 Users
References – Microsoft ignite 2016
RDGW Scaling on Azure
Sizing for RDGW VM’s for 400 users
Sizing for HA RDS Deployment in Azure
With all together and HA following sizing can be archived for 400 users\
This is for concurrent 400 users, VM’s can be deallocated when users are less than this.it will save the Azure VM cost.
References – Microsoft ignite 2016
Hope this post is useful
Cheers
References
Microsoft ignite 2016
TechNet blogs and articles