Skip to main content
Version: 10.3.2

Deploy RPA

RPA deployment

There are three types of the RPA infrastructure deployment:

  • VDI. Service applications (Nginx, Filebeat, Metricbeat) and Worker run directly in a console session.

  • Server. Service applications (Nginx, Filebeat, Metricbeat) run in a console session and the WorkFusion RDP client. Worker and Unit Agent are launched in an RDP session, not a console one.

  • Unified. Service applications (Nginx, Filebeat, Metricbeat) and the RDP client are launched directly in a system session, while the architecture is the same as for VDI and Windows Server.

tip

For deployment instructions, see Install RPA Windows server.

VDI

In the VDI deployment approach, there are two possible scenarios:

  • VDI refers to a Windows machine having all RPA components in a single active console session. No additional RDP connections are created. All services are run by one user, for example, the Administrator.
  • Master Session opens multiple RDP sessions and keeps them active on several Windows machines. The number of RDP connections corresponds to that of Windows machines.

For VDI, the Bot Agent startup is scheduled, and an RDP session is automatically started by Bot Manager.

Server

When the Server approach is used, the following conditions are created:

  • You cannot access processes remotely as they are executed in local interfaces. Thus, other processes cannot influence your task execution.
  • You can have remote access from your workstation only to a needed RDP session and check which task is in progress at that particular time.

With the credentials rotation mechanism on, the RDP timeout no longer affects task execution due to automatic reconnection. If an RPA Unit is inactive for some time, for example, 15 minutes, an RDP session is locked. RPA Worker automatically refers to Secrets Vault for credentials before executing each task. Thus, RPA Worker closes the current RDP window, gets new credentials from Secrets Vault, and connects again.

The Bot Master User starts an RDP session, allowing Master Bot Agent to initiate RPA Units. For that, Bot Manager retrieves Bot Master credentials from Secrets Vault.

Unified

All processes are launched in a system session. No console sessions are required.

GUI active session support

Bot Manager maintains active RDP sessions. As soon as an RDP session is started, RPA Units are triggered to perform task execution.

Each RPA Unit contains two specific Java applications: Bot Agent and RPA Worker.

  • Bot Agent starts RPA Worker and sends data to ZooKeeper.
  • RPA Worker connects to the assigned RPA queue, retrieves tasks, and sends results to a result queue as soon as RPA tasks are executed.

You can manage RPA Units in the Bot Manager UI. The communication between RPA Units and Bot Manager is established via a secure Nginx connection.

Data flow

The data flow is as follows:

  • When RPA Units are started, Filebeat and Metricbeat are initiated to send logs and metrics to Logstash. The latter ingests them, transforms, and transfers to Elasticsearch.
  • Bot Manager gets RPA Unit's statuses and performance data from Bot Agent and sends them to the MS SQL Server to store.
  • ZooKeeper stores information on the RPA Unit configuration and queue addresses transferred from Bot Agent, RPA Worker, and Bot Master.
  • Secrets Vault stores RPA-related credentials. Once you configure the credentials rotation, new credentials are automatically applied to all RPA Units.
note

For details on the task distribution, refer to the Distribute tasks and Work with fleets topics.