Enable App Volume Replication for Horizon VDI on Azure VMware Solution using Azure NetApp Files
Overview
Cloud bursting is one of the common use-cases for Azure VMware Solution (AVS). It could be in the form of extending VDI solution, such as VMware Horizon, to AVS. This article explains a solution that addresses one of the concerns related to App Volume Replication when implementing multi-site Horizon deployment where AVS Private Cloud is one of the sites.
Background
When customers decide to expand their existing Horizon infrastructure to Cloud, VMware recommends a multi-site Horizon implementation using a multi-instance model with separate instances per site. Each instance works independently, with its own set of App Volumes Managers and its own database instance. Using separate instances per site is simple to implement and allows for easy scaling. Moreover, it provides resiliency therefore in case of outage, the remaining instance in the running sites can provide access to Packages and AppStacks with no intervention required.
VMware Horizon leverages App Volumes to provide real-time application delivery and lifecycle management. In multi-site implementation App Volume Replication uses Storage Groups as a solution that can synchronize Packages and AppStacks across sites. Storage Groups, which define logical groupings of datastores, makes this possible by looking at anything that resides in one datastore (i.e., on-premises) within the Storage Group and making sure that it exists in all the datastores within that Storage Group. Thus, if the same datastore is part of two different Storage Groups at two different sites (on-premises and AVS), then this will guarantee that Packages and AppStacks are being replicated across multiple (two) sites.
Storage groups containing a shared, non-attachable datastore can be used to automatically replicate packages from one instance of App Volumes to another. As this shared datastore is configured to be non-attachable, it will not be used to deliver attachments to user machines, so does not need to be overly performant, and often a low-cost NFS share is used to provide this.
Problem
One of the questions that needs an answer when configuring Storage Groups for App Volume Replication in a multi-site Horizon deployment is: What is the datastore that can be part of the Storage Group at AVS in Azure (Site 2) and, at the same time, part of on-premises (Site 2) Storage Group?
Solution
First, let’s understand the requirements; notice that the datastore needs to be part of two separate Storage Groups, each configured at both Horizon infrastructure sites. Thus, technically we need a datastore that we can mount to VMware vSphere stack in Azure (AVS) and, at the same time, mount it to VMware vSphere stack at on-premises.
This is where Azure NetApp Files (ANF) volume as a datastore comes in (see diagram below). ANF is a fully managed Cloud service that provides high-performance file storage. With Azure NetApp Files, you can create a high-performance NFS datastore that can be used as a storage solution for your AVS Private Cloud. Currently, ANF volume is the only feasible and economical solution that allows adding additional datastore for expanding AVS Private Cloud cluster storage without scaling up with additional hosts.
Now, keep in mind that, ANF account uses a concept in Azure networking known as delegated subnet. To simplify things a bit, you can imagine that the ANF account is connected to a network subnet in an Azure Virtual Network (vNet). Thus, this allows customers to get a predictable private address for the ANF volume once created. Thus, in addition to mounting that NFS datastore to AVS cluster, which is a feature, you can also mount it to on-premises VMware vSphere environment as long as connectivity is established either through Azure ExpressRoute or Site-to-Site VPN.
Implementation
The instructions below help you achieve the solution discussed above. Also, make sure to follow the Best Practices section in this article:
- Create Azure NetApp Files account. More details here.
- After creating an ANF account in Azure, create a Capacity Pool with minimum of 2 TB capacity, with Standard storage tier. You may keep QoS as Auto.
- Create a Volume inside the Capacity Pool created in the previous step. You may set the Quota to 2048 GB. If it was not done before, you may need to create a designated subnet in existing Azure vNet that is connected to AVS Private Cloud through an Azure ExpressRoute Connection. Make sure the selected Protocol Type is NFS and use version 3. Last and foremost important is to check Azure VMware Solution Datastore checkbox (Enabled).
- Mount the Volume to AVS Private Cloud, as explained here.
- Mount the Volume to On-Premises vCenter, assuming you have the line of sight (connectivity) from on-premises to Azure vNet where ANF subnet delegation is configured. You’ll need the private IP address of the Volume with the mounting path.
- Test by uploading a file to the datastore at one of the sites (i.e., on-premises). Now, you may notice that the file is immediately shown on the other site (AVS). Technically, that is because it is the same datastore.
- The last step would be configuring VMware App Volumes, by creating Storage Group at both sites, and selecting the ANF Volume datastore in each of the Storage Groups, so it becomes the common ground for replication.
Best Practices
To achieve the best results, make sure you follow the best practices when configuring AVS and creating ANF account as documented here. For example:
- Make sure to use UltraPerformance or ErGw3Az SKU for the Azure ExpressRoute Gateway when connecting between AVS Private Cloud and Azure Virtual Network (vNet).
- Make sure to enable FastPath on the Azure ExpressRoute Connection.
- Make sure to place ANF account in the same region and same availability zone (AZ) of AVS Private Cloud.
- Make sure to choose the appropriate storage tier for ANF Capacity Pool. For this specific use-case (Horizon/App Volume Replication), Standard storage tier should be fine.
- Make sure to choose Standard network features when creating the ANF volume to enable optimized connectivity from AVS Private Cloud.
- Make sure to maximize Volume size to Capacity Pool size. Keep in mind that customers will pay for the Capacity Pool size not the Volume capacity. Moreover, capacity and performance in ANF accounts are proportional. In other words, the higher capacity the higher performance. For example, if you create a 2 TB Capacity Pool, then create 2 TB volume as well if you are not using that Capacity Pool for other purposes.
Summary
In this article, we addressed a concern at configuring App Volume Replication leveraging Storage Groups when implementing VMware Horizon multi-site design where AVS is one of the sites. We also explained how Azure NetApp Files service was used to provide a datastore that is mounted to AVS Private Cloud cluster and mounted to on-premises environment, and best practices associated with that.
Resources
Here are some resources that include supportive materials to this article:
Horizon on Azure VMware Solution (Microsoft - Learn)
Horizon on Azure VMware Solution (VMware - TechZone)
App Volume Architecture – Multi-site Design
Attach Azure NetApp Files datastores to Azure VMware Solution hosts
How-to: Deploy Azure VMware Solution with Azure NetApp Files datastore
Simulator: Deploy Azure VMware Solution with Azure NetApp Files datastore
Azure VMware Solution Learning Resources
Azure VMware Solution Landing Zone Accelerator (Enterprise Scale Landing Zone)
Published on:
Learn moreRelated posts
GitHub Copilot for Azure: 6 Must-Try Features
As developers, we are constantly seeking tools that streamline our workflows and boost productivity. … Enter GitHub Copilot for Azure, now in ...
Unlocking the Best of Azure with AzureRM and AzAPI Providers
With the recent release of AzAPI 2.0, Azure offers two powerful Terraform providers to meet your infrastructure needs: AzureRM and AzAPI. The ...
Azure Communication Services Ideas Board: Share your feedback with the product team
Innovation is not a solitary pursuit, and we recognize that some of the best ideas come from you, our Azure Communication Services community. ...
Engage with the Azure Community Services Ideas Board: Your Voice Matters
Innovation is not a solitary pursuit, and we recognize that some of the best ideas come from you, our Azure Communication Services community. ...
Optimizing custom copilot (agent) performance with Azure Load Testing: A comprehensive guide
As we move into the next phase of digital transformation, the role of custom copilots is set to become increasingly pivotal. By leveragin...
Azure Storage - TLS 1.0 and 1.1 retirement
Overview TLS 1.0 and 1.1 retirement on Azure Storage was previously announced for Nov 1st, 2024, and it was postponed recently to 1 year later...
Streamline Your Azure Workflow: Introducing GitHub Copilot for Azure in VS Code
I'm excited to announce the public preview of GitHub Copilot for Azure - a new addition to your toolkit that seamlessly integrates with G...
VMware HCX Design with Azure VMware Solution
Overview VMware HCX is one of the Azure VMware Solution components that generates a large number of service requests from our customers. The A...
Efficient Management of Append and Page Blobs Using Azure Storage Actions
Overview In Azure Storage, Blob Lifecycle Management (BLM) allows you to automate the management of your data based on rules defined by...