Skip to Content
avatar image
Former Member

Is clustering still needed for ISS and/or Apache Tomcat, if load balancer appliance is present?

Currently I have the following BI4.x cluster configuration: three branches each with ISS, apache tomcat, and BI4.2. HANA house two CMS. I plan to add Citrix NetScaler Load Balancer (equalviant to F5 load balancer) infront of the cluster.

Do I still need to cluster IIS if NetSclaer is the load balancer in case server 1's IIS in Branch 1 fails?

Do I still need to cluster Apache Tomcat if NetSclaer is the load balancer in case server 2's Apache tomcat in Branch 2 fails?

Below is the setup I currently have, except for the NetScaler LB, which will be implemented in the future.

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

NetScaler LB appliance

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

Branch 1

Server 1 - IIS

Server 2 - Apache tomcat and BI4.2

Branch 2

Server 1 - IIS

Server 2 - Apache tomcat and BI4.2

Branch 3

Server 1 - IIS

Server 2 - Apache tomcat and BI4.2

Your thoughts and advice is appreciated.

Thank you

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • Jan 31 at 05:46 PM

    the way I understand the role IIS plays when used in front of tomcat's - its irrelevant if it is clustered or not.
    Tomcat clustering is always optional no matter if what you have in front of them.

    issues with clustering tomcats.
    1748276 - BI 4.0 - Error: "Logon denied: Your session is not valid" in BI Launch Pad using Tomcat cluster

    2088195 - BI 4.1 - Error: "Logon denied: Your session is not valid" in BI Launch Pad using Tomcat cluster failover

    In your configuration if you already have 3 IIS/3 tomcats - you already have some sort of LB in front of them, or are your users use 3 different URL's to access bilaunchpad ?

    Why do you even have IIS in front of tomcats ? just curious.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Feb 01 at 10:34 PM

    Hi Dennis thanks for the prompt response. To answer your questions:

    Are your users use 3 different URL's to access bilaunchpad?

    No, Users access the BI Launchpad with one URL.


    Why do you even have IIS in front of tomcats ?

    IIS act as a proxy server to hind the back-end servers, e.g. apche tomcat and BI servers. Plus, it's what our archtiect dicated to do.


    With the addition of Netscaler VPX Load Balancer, I was thinking about unclustering the IIS and Apache Tomcat. Leave it to the LB to manage the traffic/work load, session transfer, and content transfer. A use cases would be like this:

    User auth by SSO on Netscaler LB, then LB can perform sso (authenticate on behalf of the user) to the server-1. If suddenly server-1 fails and traffic got redirected to server-2 , server-2 asks for Authentication, netscaler sso will kick in again, user need not re-authenticate. But server-2 may not be aware of what user was doing on server-1, unless there the LB takes care of that session and content transfer, OTHERWISE the task that got interrupted may have to be performed again by the user.


    From your experience is clustering still needed on back-end servers like IIS and/or Apache Tomcat to ensure HA, session and content transfer, so users wouldn't notice so much?

    Thank you ahead,

    Add comment
    10|10000 characters needed characters exceeded

    • Based on 1 - you already have a load balancer, so why change to Netscaler ?
      Based on 2 - Apache Web server is a better server to use as the proxy vs. IIS. Based on industry practices.
      As on the 3 - yes, LB can fulfil the role of the proxy and failover user session to another tomcat. However, the whole "in-interrupted user experience" thing depends on the exact user workflow at the time of failure.
      If user logs into Bilaunchpad and is on the main screen, tomcat 1 dies - session failsover to tomcat 2 seamlessly (tomcat clustering required). But if user is refreshing webi doc - failover might not be smooth.

      So, in general - IIS clustering not needed. Specially if t is just the proxy.
      Tomcat cluster is needed for any session failover.

  • avatar image
    Former Member
    Feb 05 at 06:54 PM

    TO BE Env:

    LB

    Apache Tomcat 8 (from BOE installation)

    BI4.2 SP03

    HANA SPS12

    Thank you Dennis. We decided to cluster the Apache tomcat servers and remove the IIS since the LB is acting as a reverse proxy. This will address our concern about content transfer if server 1: tomcat goes down then users are transferred to server 2: tomcat without loosing their work (re-do their work) in BI launchpad.

    Follow up questions:

    1. Do we use tomcat's cluster name or individual server names to the LB?

    2. Also, since we are clustering BO, can (or do) we LB BO?

    3. Do we use the BO's cluster name or individual server names to the LB?

    Thank you in advance

    Add comment
    10|10000 characters needed characters exceeded

  • Feb 24 at 05:49 PM

    according to your screenshot both tomcats needs to be configured in load balancer for load balancing+failover.there is no need of extra IIS/apache on top of tomcat.once both tomcat IP's are configured in load balance with the new Virtual IP or DNS name you can access the BO services and load balance will redirect the request to tomcat1 or 2 based on the load balancing settings in load balancer.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Feb 23 at 10:02 PM

    to-be.pngClarifying my previous questions - Please see the attached file for To-Be architecture

    Context about diagram:

    • Each square box represent a VM
    • VMs are behind the LB appliance
    • IIS or Apache (Web Server for static content)
    • Tomcat 8 (version packaged with BI 4.2 SP3; for dynamic content)
    • Version of Business Objects - BI 4.2 SP3
    • CMS is in HANA SPS13 Tomcat and BI will be clustered for application awareness in-case a server failure. User will not loose their work and be still logged in (in theory).

    1. I'm confused where static content (e.g. jpg, html, css) caching occur, if not at LB appliance (F5 or Netscaler)?

    2. If the answer for #1 is at web server (Apache or IIS) then do I need to cluster the web servers with LB appliance present? (We don't think so but would like to verify)

    Thank you

    Add comment
    10|10000 characters needed characters exceeded