Using FSLogix & Azure NetApp Files to create multiple copies of AVD user profiles
Introduction
Recently I have had requests to support multiple copies of users profiles for Azure Virtual Desktop (AVD) deployments. This has come from the need to meet Business Continuity and Disaster Recovery (BCDR) needs. These requests also included a requirement to meet functional and performance needs. Features such as snapshots & backup are important to enable rapid recovery and restores, as well as supplying scalability and performance to meet user demands. This blog post is about delivering these requirements using FSLogix Cloud Cache profile management tool and Azure NetApp Files.
Overview
FSLogix is a tool that Microsoft purchased a few years back, it is used to manage profiles and is designed to support users when they are connecting into different servers . These profiles can be used in a non-persistent compute environment where users roam and connect to remote session hosts, a compute instance. When a user connects, their profile dynamically attaches to the session host. This means that users get a consistent experience no matter which session host they join.
Azure NetApp Files (ANF) is a Microsoft Azure first-party service that delivers high throughput, low-latency storage on-demand. ANF is network attached storage, supporting NFSv3, 4.1 and SMB/CIFS, it can scale up to 450,000 IOPs to meet the needs of the most demanding workloads. The service is underpinned using NetApp’s technology, it includes capabilities such as snapshots, cloning, replication and backup. ANF has many use cases, for the purposes of this blog, its use cases is the hosting of profile storage for AVD.
As mentioned in the introduction, customers have specific needs to meet BCDR requirements. Some of those requirements mean that multiple copies of data are required in different locations. Combining FSLogic and the capabilities of ANF means these BCDR needs can be met, whilst maintaining performance, scalability and availability.
High-level Design
First, I need to point out that this is a conceptual design. It has been developed to proof the concept of having multiple copies, two in one region and a third in the second region. The first region uses Azure Availability Zones (AZs), ANF and FSLogix, this will contain the primary and secondary copies of user profiles. The ANF volumes are placement into AZs using Availability Zone Volume Placement, FSLogix Cloud Cache is used to replicate profiles across those volumes. Details on Availability Zone Volume Placement can be found here. The third copy will be a replica of the secondary volume, replication to the second region is taken care of by the inbox capability of ANF using Cross Region Replication (CRR). Details on Cross Region Replication can be found here.
The diagram below shows a high-level representation of this conceptual design.
Summary
In summary, using FSLogix as well as the in-box capability that Azure NetApp Files has with CRR can allow you to create multiple copies of user profiles. This is only a concept that I have developed and tested in my lab. There has been no performance testing to understand the impact on the session hosts, users and how the AVD solution would react in the event of a failover scenario. I hope this has been useful and I’d love to know peoples thoughts on whether or not this is a viable solution.