Re: Will Backhand/Wackamole solve my problem?

"Kok Wei, Koh" <[email protected]> Tue, 30 Sep 2003 12:13:19 +0800
Newsgroups gmane.comp.apache.mod-backhand.general
Message-ID <[email protected]>
Thank you so much for the reply!

BTW, I still have a couple of questions in which I hope you could enlighten.

After reading your suggestions, I'd go for duplicating the RP and adopt 
RR DNS. Say the new infrastructure now looks like the following:


     (www.banking.com)

10.100.13.1   10.100.13.2
+---------+   +---------+
|   RP1   |   |   RP2   |
+---------+   +---------+

The thing is the system requires client authentication, after which a 
successful SSL handshake is followed by a custom apache module that 
extracts the client certificate subject DN and re-packages it into a 
HTTP auth header, passing it into the backend Apache (JRun) servers. 
This is why the first thought in my mind was SSL Accelarators are out of 
the question, or will I still be able to extract the DN if SSL is to be 
handled by a dedicated hardware?

Another doubtful question is ...

Imagine a user already presented his/her client certificate to RP1, and 
then somewhere down the road of subsequent HTTPS requests, the DNS 
resolves to RP2. Does the client needs to re-present the client 
certificate again?

Hope to get help on this. Thank you!

Theo Schlossnagle wrote:
> You can use mod_backhand, but it would be to balance the traffic across 
> your second tier.  As you said in your email, much of the cost involved 
> is the SSL traffic itself.  This cost can't be balanced by mod_backhand 
> as it happens at the application level and the cost is paid at the 
> application protocol level.  To balance the cost of SSL resource 
> consumption you need to do it beneath the application protocol layer 
> (HTTPS), for example on the TCP/IP level.  So you'd use a TCP/IP load 
> balancer in front of everything (like LVS, BIG/ip, ServerIron, 
> Arrowpoint, etc. etc. etc.)
> 
> However, I doubt you really need fine grained balancing across your 
> first tier SSL proxy machines.  We ran a pretty high traffic site over 
> SSL that just used DNS round robin for naively distributing the incoming 
> connections.  Then mod_backhand intelligently distributed them across a 
> second tier cluster of Jakarta Tomcat servers.
> 
> I would duplicate your current front end machine and give it a second 
> publicly accessible IP address.  Add another A record to DNS for the web 
> site.  Then, use wackamole to ensure high availability of the two 
> "exposed" IP addresses.  We did this with great success.  I'd throw in 
> hardware SSL accelerators if you are noticing that as the bottleneck.
> 
> Note, if you are going to be VERY high traffic, your setup may justify 
> installing an SSL-aware hardware load-balancer and hardware SSL 
> accelerators on your 1st tier machines.  The SSL "crypto acceleration" 
> cards compared to doing the openssl work on your system processor is 
> like night and day.  A financial application where the majority of web 
> transactions happen over SSL justifies the purchase of one of these 
> hardware accelerators.
> 
> On Saturday, Sep 27, 2003, at 10:35 US/Eastern, Kok Wei, Koh wrote:
> 
>> Hello everyone,
>>
>> I am currently looking for a solution to a project I am working on, in 
>> a local financial institution where high performance is needed due to 
>> a reasonably high number of users accessing the web services everyday.
>>
>> I'll write a paragraph of the current situation:
>>
>> The nature of the banking services website consists of a front 
>> Internet facing Apache 1.3.28 (EAPI, mod_ssl, mod_proxy) being a 
>> reverse proxy proxying to 3 different machines based on different 
>> URLs. Behind the reverse proxy, there lies 2 IIS servers, and 1 Apache 
>> (mod_jrun) which ties to JRun housing Java servlets. The database 
>> server is of another machine of a deeper DMZ.
>>
>> I suppose the following diagram shall illustrate better ...
>>
>>
>>                   +--------+
>>                   |   RP   | (SSL, HTTP)
>>                   +--------+
>>                        |
>>                       /|\
>>                      / | \
>>                     /  |  \
>>                    /   |   \
>>                  IIS HTTPD IIS
>>
>>
>> I realize that the bottleneck is on the RP when in the near future the 
>> number of users are expected to grow tremendously. When users access 
>> the banking services, they are forced to enter HTTPS mode, which also 
>> consumes more processing power than just pure HTTP. Besides, this 
>> setup is clearly a single-point-of-failure if the RP goes down after a 
>> system patch, or whatever reason it needs to reboot.
>>
>> My direction is really to see if backhand/wackamole could be used to 
>> load-balance/fail-over the RP if one or two more boxes are parked next 
>> to it, and similarly setup/configured. The goal is performance being 
>> the first priority, and availability the second ;-) Or both > preferably!
>>
>> Hoping to get various feedbacks. Thank you in advance.
>>
>>
>> -- 
>> Kok Wei, Koh <[email protected]>
>>
>>
>> _______________________________________________
>> backhand-users mailing list
>> [email protected]
>> http://lists.backhand.org/mailman/listinfo/backhand-users
>>
> // Theo Schlossnagle
> // Principal Engineer -- http://www.omniti.com/~jesus/
> // Postal Engine -- http://www.postalengine.com/
> // Ecelerity: fastest MTA on earth
> 
> 
> _______________________________________________
> backhand-users mailing list
> [email protected]
> http://lists.backhand.org/mailman/listinfo/backhand-users
> 
>