Scaling RPA
Overview
WorkFusion Platform provides solution for auto scaling up of the RPA Systems. It's important to understand the calculations and the parallel execution which is supplied out of the box by WorkFusion product.
It is also important that appropriate decisions are being taken for fast processing of the RPA.
Transition architecture
The scale management is to be calculated on the basis of RPA to be done on the client applications.
Decision factors:
- How fast the client application, for example, how long does it take to read the screen?
- Can parallel processing be performed on application on same RDP node?
This solution uses RPA Manager for distribution of load among the registered RPA Unit(s).

Scaling solution details
WorkFusion Control Tower sends BOT/Machine Tasks to RPA Manager where they are queued up, so that available RPA Unit can pick up tasks for execution.
Important considerations for achieving scaling up are as follows:
- Horizontal scaling up can be achieved by putting up RPA Units to the RPA Manager.
- For task distribution strategies, refer to Task distribution strategies.
- For segregating tasks or business process steps, the WorkFusion Platform can be configured accordingly. Refer to Task distribution.
- Number of BOT calculations.
- WorkFusion provides multi threaded execution of bot tasks using out-of-the-box Bot Source configuration. For more details, refer to RPA high load.
- Use Node capabilities for distributing bot tasks.
RPA scaling unit definition
The RPA Unit can be a containerized Windows image, containing the following components:
- Nginx
- RPA Hub
- RPA Nodes (1 to 2 nodes is the most efficient from resource use perspective and easy of maintenance)
RPA development best practices
- Use
driver.getPageSourceto get the complete DOM of html web page.- This will help in avoiding multiple hoping and hopups to RPA node.
- User html page source and then use xpath to read the elements in the groovy script.
- Use
driver.executeScript(String script, Object... args)for enhanced performance- Some times reading the RPA User Interface like Swing Applet having lots of columns and rows can be a costly call, so it is recommended to use the RPA unit script execution and return the desired output in json to groovy script.
- It is important to note the timeouts of the driver script.