UiPath Architecture

UiPath Architecture

Redundancy, Resilience, high availability are all terms associated with planning an enterprise architecture for automation and are all possible with the Ui Path Architecture.

For scenarios where UiPath Orchestrator is used on-premise, specific architectures can be deployed and these are detailed in UiPath documentation. The UiPath Orchestrator has a number of specific components such as robot logging that are capable of use with a number of technologies.

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 automation code is deployed as a “Package” from the UiPath Studio / Studio Web through a publishing process. Each version of the package is deployed to a UiPath Tenant. It is possible to create “Libraries” of automation code which can be used within the Ui Path Architecture details of this are covered in the UiPath documentation.

The UiPath Queue features are an effective way of allocating workload across a number of robots.

UiPath provides support for “Long Running” automations where the processing gets “Suspended” pending some action. An automation can be built to “Suspend” processing and obtain input from a user. The UiPath “Action Center” provides a user interface for activity to be performed by users (e.g. Approve, disapprove, add data, amend data) for a suspended  automation. A UiPath internal queue mechanism controls the suspended transactions. Once the user action is complete, the automation process can resume. An automation that contains such functionality does not “Lock” a robot while the action is in progress. The design prevents “Long Running” automations from blocking the on-going processing of other automations.   

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.

Within the Cloud Orchestrator Tenant, there is a folder structure which can be hierarchical but for most implementations separate folders for Development, Test and Production are all created at the same level.

Within each folder, queues, storage buckets, processes, triggers and assets can be defined.

UiPath provides a tool to manage the transfer of items between folders. This is essential for release management.

The separate folders allow different values to be used so Development can work on test data, etc.

User Access can be controlled at folder level to ensure appropriate security governance can be achieved.

UiPath Document Understanding

The UiPath Cloud enables Document Understanding projects to be defined. These can contains details on Document Types, Extractors and Classifiers, which can be used by automations. 

UiPath Data Service

Within the UiPath Cloud there is a “Data Service” facility which enables data “Entities” to be defined and data values to be stored.

UiPath Integration Service

The Integration Service is available in the UiPath Cloud. This provides the connectors to a wide range of SaaS facilities such as Salesforce and Xero. Once the configuration for the connectors is defined they can be used with the automations that are deployed in Orchestrator. This approach avoids defining the details of the integration within each automation. 

UiPath Apps

UiPath Apps can be created in the UiPath Cloud. These are “Low Code” developments  which can provide a user interface for user interaction as well as the ability to invoke automations.

UiPath Insights

With all of the automations that can be created for a business, UiPath provides “Insights” as a reporting capability to analyse the performance of the automations. This has predefined templates available which can be cloned for custom variations plus the ability to defined fully bespoke reports.

UiPath Automation Ops

This provides the ability to manage deployments between parts of the UiPath environment. For example, the promotion of an automation with all of its dependent definitions from a Development folder to a Production folder within Orchestrator.

Request A Call Back

Please provide details for Ether Solutions to call you back: