Forum Discussion

Sandesh_Lohar_8's avatar
Sandesh_Lohar_8
Icon for Nimbostratus rankNimbostratus
Jun 24, 2008

Dynamically switching requests between different pools.

Hi Guys,

 

 

Just want to check if somebody can help me resolve a typical scenario for achieving zero downtime deployments, as detailed below.

 

 

( Note: I had read the post at

 

http://devcentral.f5.com/Default.aspx?

 

tabid=53&forumid=5&tpage=1&view=topic&postid=14781478 )

 

 

Background:

 

 

1. I am using F5 BiGIP load Balancer to balance a IIS 6.0 based Web Farm

 

of say 2 nodes, which maybe scaled to include new nodes, in future.

 

 

2. I plan to setup two Pools A & B - with A serving older version of the

 

application & other pool B serving the newer version of the application.

 

 

3. Also, only in newer version of application, I am considering inserting

 

a unique Header into the HTTP request when the response is generated

 

from the server.

 

 

4. Now when the request is sent from the Browser, I am aware that at the

 

load balancer, HTTP request's unique Header which was earlier inserted

 

(refer above point 3.) can be read & consecutively used to route the

 

request to pool B - since, request meant for for older version of the

 

application will not have this unique HTTP Header.

 

 

5. I plan to use the iRules at Load Balancer level, to use a simple if

 

else statement as shown below, (please ignore the syntax..):

 

 

if {HTTP_HEADER contains "UNIQUE_NEW_VERSION_HEADER"}

 

{ use pool B }

 

else

 

{

 

use pool A }

 

 

 

Currently I don't have access to F5 enabled Web Farm. So I am unable to

 

validate the point 5 stated above.

 

 

I would truly appreciate if somebody can validate this or suggest an even

 

better alternative.

 

 

Thanks

 

Sandesh.