- Getting started
- Best practices
- Organization Modeling in Orchestrator
- Managing Large Deployments
- Automation Best Practices
- Optimizing Unattended Infrastructure Using Machine Templates
- Tenant
- Folders Context
- Automations
- Processes
- Jobs
- Triggers
- Logs
- Monitoring
- Queues
- Assets
- Storage Buckets
- Test Suite - Orchestrator
- Other Configurations
- Integrations
- Classic Robots
- Host administration
- About the host level
- Managing system administrators
- Managing tenants
- Configuring system email notifications
- Audit logs for the host portal
- Maintenance Mode
- Organization administration
- Troubleshooting
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.
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+) |
2021.10+ |
Cross-platform (.NET 5.0+) |
2021.10+ |
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 |
2021.10+ |
Foreground |
Without credentials |
Invalid configuration. You need credentials to run foreground jobs. |
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.
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 the Windows desktop using template A which we define as follows: Process type = Background only Process compatibility = Windows only Unattended Runtimes = 4 |
|
6 background processes |
Cross-platform (.NET 5.0 or higher) |
We connect three Linux machines using template B which we define as follows: Process type = Background only Process compatibility = Cross-platform only Unattended Runtimes = 2 |
|
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 |
|
- 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 2021.10+ robots to execute .NET. 5.0 or higher processes
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, and jobs stay pending until the configuration is fixed.
Find details about how to fix the configuration on the Job Details window.
- 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 2021.10+ is not a valid setup. Update the version or set the machine template to Windows only or All.