HAA on Active-Active DR Installation with GEO-split: Is it necessary?

Hi Everyone!

I’d like to implement a fairly minimal infrastructure design that enables an Active-Active connection between two data centers (for the runtime resources at least, one of the orchestrator could be passive, if it is a viable option).

As I understand, for having 2 Orchestrator servers operating simultaneously, we need the High Availability Add-On installed on 3 different servers (1 master+2 secondary, but 1 master server is absolutely necessary).

If we would leave out the HAA with its 3 servers, but configure the load balancer to open the connections of the runtime resources within both two separate geolocations to the Orchestrator in the primary geolocation if it’s available, but redirect them to the other Orchestrator in the secondary geolocation if the primary is unavailable, would it cause any issues within the infrastructure?

The Orchestrators would connect to the SQL databases through an SQL Listener. We don’t necessarily need the two Orchestrators for balancing the load between them, but to ensure that one is definitely up and running, and can immediately take over operating our robots if the primary one fails.

If HAA is an absolute must in this case as well, would it be enough to install only 1 HAA server within the primary location?

Thank you!

Hello @Balint_Laszlo_Papp!

It seems that you have trouble getting an answer to your question in the first 24 hours.
Let us give you a few hints and helpful links.

First, make sure you browsed through our Forum FAQ Beginner’s Guide. It will teach you what should be included in your topic.

You can check out some of our resources directly, see below:

  1. Always search first. It is the best way to quickly find your answer. Check out the image icon for that.
    Clicking the options button will let you set more specific topic search filters, i.e. only the ones with a solution.

  2. Topic that contains most common solutions with example project files can be found here.

  3. Read our official documentation where you can find a lot of information and instructions about each of our products:

  4. Watch the videos on our official YouTube channel for more visual tutorials.

  5. Meet us and our users on our Community Slack and ask your question there.

Hopefully this will let you easily find the solution/information you need. Once you have it, we would be happy if you could share your findings here and mark it as a solution. This will help other users find it in the future.

Thank you for helping us build our UiPath Community!

Cheers from your friendly

Hi @Balint_Laszlo_Papp,

I know this is an old topic, but thought it would be good to answer for anyone that might stumble on it. I know I’ve been involved in other topics around a similar inquiry, so searching the forums should reveal more indepth discussion.

The main issues with not having HAA when you have more than one active Orchestator node is that while more than one is online and in a functional state, even if they are not directly being used by users is that they can fight over activities due to race conditions when it comes triggers trying to start jobs multiple times or status / availability of a User/Robot with the heart beats with one node seeing the Robot as available and the other node(s) not.

Unfortunately you cannot place a single node into ‘maintenance’ mode as this is at the database level, so you’re left with Starting/Stopping the IIS Site or some other form to interupt the communication between the Orchestrator Node and DB which would cause you some downtime if there was a failure with your active node.

High Availability Add-On is based off of Redis Enterprise, technically you can use it with a single node, however you would be missing out on many features that require a master/slave cluster. In addition to that it is recommend to have 3 or more nodes with an odd number of nodes in a cluster.

Snippet from Redis’ documentation

Hardware requirements | Redis Documentation Center
At least three nodes are required to support a reliable, highly available deployment that handles process failure, node failure, and network split events in a consistent manner.

When you get an HAA license from UiPath it licenses you for 2 shared within Redis Enterprise, so you’ll actually see only two of the three shared/nodes in use unless one fails or you take one offline.

I hope that helps anyone that comes across this topic, and if you found a solution that suites your needs I’m sure it would be welcome to document your outcome for others.

1 Like