Global Entitlements can arguably be one of the strongest selling points of Horizon VDI. It is not offered as a concept in AVD by MS, but while looking at the release notes of 7.3.1, it felt like it can be possible in a way through Nerdio. I got the idea while looking at this feature

With this feature will will be able to add additional subnets to the same pool, but all of them can be only from the same vnet.
What if we would be able to add additional subnets NOT ONLY from the same vnet?
For example, lets say we have a user base of 5k users that need access to a Personal pool. They are all in 1 group and for various reasons ideally we want them all to be in 1 pool, but at the same time we want to keep the deployment at 2500 VMs per subscription per region to play nice with API.
At this time we would have to divide them into 2 groups and 2 pools. How can we have them all in the same pool while having 2500 VMs per sub per region at the same time?
If we could add 1 subnet from east us 2 with 2500 VMs in there, another subnet from central us with 2500 VMs, in 1 pool, we could then have them all in the same pool, using 1 group. These VMs from both regions can all be in the same resource group, but optionally if possible, users can choose to have them in separate RGs, one for each region.
Regarding the assignment of each VM to each user, if the region does not matter, then the pool can be configured with Automatic assignment. If the region matters, in order to make sure that each user gets a machine from the region that is meant for them, we can configure the pool to be with Direct assignment, then we can have a runbook script that runs every hour to check if a user in the main group does not have a machine assigned to them and if not then it assigns it based on the rules we specify, like UPN, being a member of another specific group, any other attribute that can be used etc.
For Multisession pools, normally the regions need to be closer.
An important aspect to consider here is the Autogrow configuration. Admins might have 2500 users in region 1 and 1000 users in region 2. The same way we configure spare machines today, we would need the same concept applied per region/vnet/subnet. For instance, configure 10 spare machines for subnet 1, 5 spare machines for subnet 2. This way, Autoscale will make sure there are always machines available in both networks at the right amount. This is just an idea.
So far we talked about having machines from different regions in the same pool but considering these regions to be from the same subscription. An extra step forward would be to include machines from different subscriptions in the same pool as well, if that is at all possible and does not introduce other issues.
Ultimately the need is to be able to add multiple subnets in the same pool. These subnets can be from:
- the same vnet
- from different vnets in the same subscription but that can be in the same region or different regions
- and if possible from different vnets that can be from different subscriptions and that can be from the same region or different regions
This is just an idea that came to me that can serve as a starting point because probably I am not thinking about other important details. In the end, if there would be a way to have Global Entitlements (like Horizon has) in AVD either through this idea or any other ideas that you can implement, it would be greatly appreciated by the community and definitely game changing!
Comments (4 comments)