Subscribe

UiPath Orchestrator

The UiPath Orchestrator Guide

Optimizing unattended infrastructure using machine templates

This article walks you through the process of distributing unattended automation workload to existing infrastructure by specializing machines in executing particular types of processes in order to maximize efficiency and cut costs.

📘

Before you begin

The following table shows the UiPath Robot version required to execute processes according to their target frameworks and OS compatibility considerations.

Operating system (target framework)

Robot version

Windows - Legacy (.NET Framework 4.6.1)

Any

Windows (.NET 5.0+)

21.8+

Cross-platform (.NET 5.0+)

21.8+

The following table shows the UiPath Robot version required to run foreground/background processes according to the robot credential considerations.

Process type

Robot credential considerations

Robot version

Background

With credentials

Any

Foreground

With credentials

Any

Background

Without credentials

21.8+

Foreground

Without credentials

Invalid configuration. You need credentials to run foreground jobs.

Optimizing unattended infrastructure


Your unattended workload has unique infrastructure needs that can change over time. You can maximize efficiency and minimize waste by making the machine template and the associated machine infrastructure confined to executing a particular type of process.

  1. Add or edit a new machine template on the Machines page.
  2. Configure the two options available on the Supported usage section according to your needs:

Process type

On the machine infrastructure employing that machine template you can execute:
only background processes, (1)
only foreground processes, (2)
both background and foreground processes. (3)

Process compatibility

On the machine infrastructure employing that machine template you can execute:
Windows-compatible processes only, (4)
cross-platform processes only, (5)
both Windows-compatible and cross-platform processes. (6)

Example


Let's say you've been using UiPath Studio for quite some time now, so inevitably you have gotten yourself a quite diverse collection of automations: background and foreground processes, some developed using .NET Framework 4.6.1, newer ones developed on .NET 5.0.

Your infrastructure consists of:

  • one Windows desktop
  • one high-density Windows Server
  • three Linux machines

How would an efficient optimization strategy look like?

No of processes

Compatibility (set in Studio)

Machine Template Settings (set in Orchestrator)

Why

4 background processes

Windows - Legacy
(.NET Framework 4.6.1)

We connect one Windows desktop using template A which we define as follows:
Process type = Background only
Process compatibility = Windows only
Unattended Runtimes = 4

.NET Framework 4.6.1 processes can only run on Windows machines.
Background processes can run concurrently under the same account.
Template A has 4 runtimes assigned, allowing execution of 4 jobs concurrently.

6 background processes

Cross-platform
(.NET 5.0 or higher)

We connect 3 Linux machines using template B which we define as follows:
Process type = Background only
Process compatibility = Cross-platform only
Unattended Runtimes = 2

.NET Framework 5.0 processes can only run on any type of machine.
Template C allows execution of only background processes on the connected Linux machines.
Background processes can run concurrently under the same account.
Template B has 2 runtimes assigned, allowing execution of 2 jobs concurrently on each connected Linux machine: 2 jobs x 3 machines results in an execution capacity of 6 concurrent jobs.

10 foreground processes

Windows
(.NET 5.0 or higher)

We connect the Windows server using template C which we define as follows:
Process type = Foreground only
Process compatibility = Windows only
Unattended Runtimes = 10

.NET Framework 5.0 processes can run on any type of machine, Linux machines included, but because these are foreground processes developed for Windows, you need to run them on Windows machines.
One account can run one foreground process at a time.
A HD Windows Server allows opening multiple account sessions.
Template C has 10 runtimes assigned, meaning 10 sessions are opened simultaneously, allowing execution of 10 foreground jobs concurrently.

Tips & tricks


  • Allocate background processes execution to cheaper machines (such as Linux).
  • Set Windows machines aside for foreground automation.
  • Background processes developed using .NET Framework 4.6.1 require Windows. You can resort to Windows desktops for concurrent execution. You do not need a Windows server for background processes, nor a high-density environment, since background jobs can run concurrently under the same account.
  • You need 21.8+ robots to execute .NET. 5.0 or higher processes

Job allocation


Orchestrator does not allow starting jobs on invalid configurations. Trying to start a job in an invalid setup results in a descriptive error message providing you with details about how to fix your configuration.

Starting a job using dynamic allocation, i.e. no machine or account specified, with an incompatible folder setup results in an error. Make sure to correct the setup, otherwise, jobs stay pending indefinitely. For example, trying to run a .NET Framework 4.6.1 background job when there are only cross-platform templates in the folder does not work, as jobs stay pending until the configuration is fixed.

Find details about how to fix the configuration on the Job Details window.

Invalid configurations

  • Foreground processes are developed on top of a UI and need a UI to get executed. Currently, UiPath foreground automation is only possible on Windows. For this reason, foreground automation on cross-platform-only machines is not a valid setup.
  • Employing a Windows only template on a Linux machine is not a valid setup. Use Cross-platform only templates or unrestricted templates (All).
  • Employing a Cross-platform only template on a machine with a UiPath Robot version smaller than 21.8+ is not a valid setup. Update the version or set the machine template to Windows only or All.

Updated 12 days ago


Optimizing unattended infrastructure using machine templates


This article walks you through the process of distributing unattended automation workload to existing infrastructure by specializing machines in executing particular types of processes in order to maximize efficiency and cut costs.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.