Forum Discussion

David_Murphy_22's avatar
David_Murphy_22
Icon for Nimbostratus rankNimbostratus
Dec 06, 2006

Application-gateways and URI based decisions - iRule, health monitor with aliases, or iControl?

I'm hopeful that someone more knowledgeable than me can provide at least some high-level direction, maybe some specifics. We have servers that our LTMs LB for and one might describe these servers as an application-gateway(AGW); more specifically these AGWs use a "same-URL/specific-URI" combination to direct traffic to different groups of applications/web-servers(WS).

 

 

Should I use an iRule to provide something similar to a health monitor when a specific app-group of WS systems is not functioning (e.g. because of planned maintenance, because of an unplanned outage)? The issue being that the WS systems are not being directly serviced by the LTMs.

 

 

For example (see Figure 1), Application-1 serviced by the WS1 server-group below remains active while Application-2 on the WS2 server-group is taken out of service for an Application-2 upgrade. At present, I am also working with our developers to decide what the AGW systems should respond with when an entire group of WSs are not functioning, like a status-code, something that an iRule could reliably use.

 

 

----- -----

 

| LTM | | LTM |

 

----- -----

 

__|________|__

 

| |

 

----- -----

 

| AGW | | AGW |

 

----- -----

 

____|________|_____________

 

/ \

 

----- ----- ----- ----- ----- -----

 

| WS1 || WS1 || WS1 | | WS2 || WS2 || WS2 |

 

----- ----- ----- ----- ----- -----

 

Figure 1. LTM and server topology

 

 

The LTM is very feature-rich and I am not sure if an iRule, a health monitor, or iControl is the best feature to use?

 

  • I want to be careful not to be misleading if I misunderstand your request, but if you're asking what I think you're asking, then it can definitely be accomplished with a combination of health monitors and iRules. In fact, I have a similar architecture myself.

     

     

    I have an HA pair of LTMs, which forward all traffic to a certain single sign-on environment to a pair of AGWs. Behind the AGWs are 7 Web Logic clusters, each for its own application. I have every one of those application clusters configured in their own pools on the LTMs, and I reference them in various iRules before forwarding the traffic.

     

     

    Basically, the logic is like this: If the URI begins with "/text1" and if pool "app1" is up (meaning at least one member is functioning), then forward it to pool "AGW"; else take another action. Depending on the app, the LTMs either send their own HTTP response or they rewrite the URI and send to a web server which hosts static HTML pages for miscellaneous pre-written error pages. Rinse and repeat for each application, but in every case if the WS pool for that app is up the traffic always ends up being forwarded to the AGWs.

     

     

    If my description above is similar to what you're looking for, we can talk about exactly how to implement it and what exact commands and logic the iRules contain.
  • Thanks for the reply. We seem to have very similar architectures. I would really appreciate some of your specifics/examples.