Site vs IG module

While setting up a new service recently, I had to choose between setting this up as a **Site or IG (instance group) module**. What is the difference and what are the implications of this choice?

Best Answer

  • In addition to the criteria that Tim mentions, I would add that the main difference is in how the two are treated within the F5/iRules for load-balancing, draining, failover. There are quorum values associated with modules, and if the number of instances falls below the quorum value, the IG (for instance group) or the SITE (for a site module) will be marked down. So, the factors that Tim mentions are all valid considerations in making the choice, but the specifics of how the module will be managed/release along with failover and dependencies need to be considered as a whole. - IG can provide more granular level of deployment (assuming more than one IG per site) by doing a rolling deploy by IG, which would retain a higher overall capacity through a release/deployment. However, this deployment capability is not currently being utilized. - Site can provide the ability to have fewer servers (assuming more than one IG per site) - down to a minimum of one server per site. - IG may provide less impact on total capacity when a module goes down (assuming more than one IG per site), depending on how quorums get set. - Site could provide higher overall availability "in certain setups/scenarios". For example, having 8 modules in a site pool versus splitting them across 4 IG (2 per IG) would mean that if 7 went down, there would be no impact to other modules' capacity on the site, but in an IG setup the capacity would be reduced to 25% (assuming quorums set to 1).

Answers

  • If I am not mistaken a Site module is a service that modules can call into. They generally are product agnostic and perform a single function, like spell checking. An Instance Group module is much wider and can call other Instance Group modules. They also can be product aware. For more clarification, an instance group is a horizontal set of modules that can perform the entire products services. Meaning all modules Website / Foldering / Search / (ect...) are in an instance group. If enough servers go down in the instance group for a single module then the instance group itself is taken down and traffic is routed to the other instance groups. Site modules do not belong to an instance group, and have their own up / down rules which I am unaware of. Also note that site modules get deployed before instance groups.