Redundancy, Resilience, high availability are all terms associated with planning an enterprise architecture for automation.
For scenarios where UiPath Orchestrator is used on-premise, specific architectures can be deployed and these are detailed in UiPath documentation.
When considering architectures for UiPath automation that involve using the UiPath Cloud the following points can be addressed.
UiPath Cloud has been built to deliver high availability. When creating each Tenant within a UiPath Could account, there is the option selection the geographic region (e.g. Europe, USA, Canada, Japan, Australia, etc). Many businesses only operate in one region, therefore defining Tenants in other regions is unlikely to beneficial.
Once a deployment requires more than one robot, architecture options become available. It is possible to configure multiple robots to execute simultaneously on one server. Similarly, multiple servers can be configured each to host a number of robots.
Each server and each unattended robot that is to be used needs to be defined in the UiPath Automation cloud.
The combination of robots and servers can be used to distribute automation workload to achieve different balances, priorities, etc. The configurations are often referred to as “Active – Active” and “Active – Passive”.
For each unattended robot the domain and user name need to be defined for the server on which it will execute.
Each unattended robot needs a licence to be allocated.
Automation Processes can be defined so that they can be executed by any robot that is available from a “Pool” of robots. The first one available executing the process. The allocation is controlled by the UiPath Automation cloud functionality.
Where processes can be executed by a number of robots, each robot needs to have the appropriate permissions to directories, files, etc. In general, that can be achieved through the use of Network attached storage rather than any local disks allocated to a server.
The UiPath Queue features are an effective way of allocating workload across a number of robots.
There is no facility in UiPath to dynamically assign servers, robots and licences, for example to scale capacity in response to demand. However, it is possible to build automations to perform the allocation of such resources which enables a rapid response. Such an automation does depend on the licences already existing.
Can a “Failover” / “Passive” configuration be used?
Yes, by using a UiPath “Non-Production” licence, the “Failover” / “Passive” server can be fully defined and licenced. When a situation arises that the “Active” server is not available, the server with the “Non-Production” licence can be added into pool of “Production” machines and the “Active” server temporarily removed. Once the issue is resolved, the server definitions can be returned to their original state.
The impact of this server change between “Active” and “Passive” will be seen on reporting statistics, as they are recognised as separate machines.
By defining multiple robots across multiple servers, resilience is delivered through UiPath’s Automation Cloud’s ability to allocate workload which can deliver a high availability solution. The ability to define processes in the Automation Cloud with a range of priorities can be particularly valuable in scenarios there is a temporary reduction in available robot capacity.
As implementation of Automation becomes a critical part of operations, there needs to be planning for the appropriate level of redundancy, resilience, time to recover and time to resume operation, just as there would be for any other enterprise system.