Tuesday, February 16, 2016

StoreFront HighAvilibility and Application aggregation

Warning :Hold your breath and read this maxi post . I am planning to get little bit about the design as well. Lets start the requirement and how to achieve the same.

Requirement  :I wanted to aggregate resource from two site and show single icon to the users. I started with following KEYWORD option suggested but it just make the published application as primary and secondary. It will not aggregate the application as single icon. To get application aggregated we have to follow below steps .

We have two sites one in Mumbai and other in Chennai . Both site have their own farm but  HighAvailability (and not the loadbalancing) is required between  two sites. It would have been easier if we had single farm setup across the site as explained in my previous blog. In order to get that we have to create two resource group or delivery group at both the site and map users to those two delivery group .

What is the problem in doing it ?

If we map same set of users to both the site then user will see two icon for same resource and will unsure which one to click for Mumbai or Chennai.

What is the plan ? Plan is to get HSD/Paint/Calculator/Notepad published for both Mumbai and Chennai users. Below diagram represent that we have two separate farm with two separate SF server group .

TCS agregassion for blog


Plan A To make simpler for the users , show one icon from both the site (HSD) and only icon from the respective site. Above figure shows for PlanA user in Mumbai see icon of paint and user in Chennai will see icon of Calculator though user have access to both the app.  When users hit https://mumbai.company.com they will land on StoreFront of Mumbai and will get aggregated resource from Mumbai/Chennai . When XDC of Mumbai is down , they will get failover to Chennai .

Prerequisite for it : Citrix suggest to make changes in web.config file located under the store  C:\inetpub\wwwroot\Citrix\storename\ directory, where storename (not the storeweb ) is the name specified for the store when it was created. There will be section within Web.config find out following section


Now file which needs to be included between above selection should look like this  . But how do I get all these detail?

Make sure you gather it before hand and then start making changes.


To get  value for name= domain\usergroup and sid=“Securityidentifier” use AD power shell. I would suggest map “EveryOne” or “Domain Users” so that latter you don’t have to make changes every now and then


equivalentFarmSet name="setname"                          :    This can be Mumbai or Chennai based on which location I am specifying

loadBalanceMode="{LoadBalanced | Failover}          : I have chosen Failover mode as I want to configure users to failover to other site

aggregationGroup="aggregationgroupname"           :  You can provide any name for the convenient . This can be same for both the site.

farm name="primaryfarmname"                                      :Most of the time people make mistake to understand what exactly it is and how to get it. If you  check storefront configuration for delivery controller it is the name of   that set. And this is how it looks like. For Mumbai aggregationgroupname is “MumbaiController” and for Chennai it is “ChennaiController”, also this is case sensitive .

Note: StoreFront at both the site will have entry for all the XDC as shown below . MumbaiController will have XDC entry for Mumbai and ChennaiControler will have XDC entry for Chennai.


So what editior should I use it edit web.confi? I have tried many other editor like XML notepad but then found Oxygen XML editor very helpful .


The other reason I would suggest oXygen is because it will help you with tagging .


Wrong tagging


So here is the config file for Plan1.  Changes need to made on both the site StoreFront and flip the order so that first site should be local site and second site will be remote site. Also note the change in this line

  <resourcesWingConfiguration name="Default" wingName="Default">


  <resourcesWingConfiguration name="Default" wingName="Default"  /> While making changes make sure you remove  “/”

For Mumbai                                                                                              For Chennai


Plan B To make simpler for the users , show one icon from both the site and all the published application for the users.  When users hit https://mumbai.company.com they will land on StoreFront of Mumbai and will get aggregated resource from Mumbai/Chennai  and all the other resources which user has been assigned. Referring to above figure, user at both the site can see all the application (HSD/Notepad/Paint/Calculator)irrespective of the sites he/she belongs to.

  For Mumbai                                                                                                 For Chennai


Once the configuration is completed , StoreFront will point to both the XDC and changes can not be made. So it is important to make necessary changes prior to editing the web.config


To achieve this I have refer various blogs,article and to name few:

1 Citrix Blog and here

2. euc.consulting

3. LalMohan

4. vhorizon.co.uk

Meanwhile vhorizon.co.uk has published latest blog for  StoreFront 3.1 . Currently SF3.1 is TP and is not supported under LTSR release.

No comments: