# Choosing an execution surface

> Comparison of the five robot execution surfaces by workload support, infrastructure ownership, robot version management, and platform availability.

A workload runs on one of five execution surfaces. They differ in three ways that decide which one fits: which workload types they can run, who owns the host, and who controls the robot version installed on it.

## Ownership and version control

| Surface | Host owned by | Robot version controlled by |
| --- | --- | --- |
| Self-hosted robot | You, on your own machines | You |
| Automation Cloud Robots — VM | UiPath | UiPath, with an opt-out |
| Automation Cloud Robots — Serverless | UiPath | UiPath |
| Elastic Robot Orchestration | You, in your own cloud account | UiPath, with an opt-out |
| Automation Suite robots | You, in your Automation Suite cluster | Your Automation Suite version |

## What each surface suits

| Surface | Fits when |
| --- | --- |
| Self-hosted robot | Execution has to stay inside your own estate, or the workload needs the user session, local dependencies, or direct network reach. |
| Automation Cloud Robots — Serverless | Background, unattended work with no infrastructure to provision. |
| Automation Cloud Robots — VM | A fully configured virtual machine is needed, but you would rather not provision or operate it. |
| Elastic Robot Orchestration | Demand varies and the compute belongs in your own cloud account rather than in UiPath's. |
| Automation Suite robots | The platform is Automation Suite, including Automation Cloud Dedicated. |

Platform availability differs by cloud offering — for example, Automation Suite robots are the offering used on Automation Cloud Dedicated in place of the Automation Cloud Robots products. For the full breakdown, refer to [Cloud robots feature availability](robot-feature-availability.md).

:::note
This page compares the execution surfaces at a concept level. Workload-by-workload support (for example, whether a given surface currently supports attended RPA, or Agent, Function, and API workloads through Unified Runtime) depends on the robot version and platform, and requires confirmation with product/engineering before being published as a definitive matrix. Refer to each surface's own overview page and to [Cloud robots feature availability](robot-feature-availability.md) for what is currently documented.
:::
