Machine sizing for running a process via Runner¶
BotCity Runner is a lightweight service responsible for downloading automation binaries and executing them in the local environment. On its own, it requires few resources — what determines machine sizing are the applications opened and handled by the running automation.
This guide defines the criteria for correctly provisioning a machine for automation executions via Runner, avoiding both undersizing (failures due to lack of resources) and unnecessary oversizing.
Minimum requirements¶
The values below represent the floor for the Runner to function. Actual sizing must take into account the type of automation being executed.
| Component | Minimum requirement |
|---|---|
| CPU | Intel® Core™ i3 (3.20 GHz) or compatible |
| RAM | 4 GB |
| Operating system | Windows (7, 10, Server), Linux (supported distributions), or macOS |
| Java | JRE 11 or higher |
| Storage | 2 GB available for the application (4 GB recommended) |
| Network | HTTPS connectivity with the BotCity Orchestrator |
Attention
Minimum requirements do not equate to ideal sizing. For desktop, SAP, or browser automations, actual consumption may be significantly higher. Always consider the type of automation before provisioning the machine.
Consumption by automation type¶
There is no fixed vCPU/RAM value per Runner. Consumption depends directly on what the automation does. The values below are initial estimates — the final sizing should be empirical, based on real monitoring.
| Automation type | Estimated consumption | Note |
|---|---|---|
| Desktop (SAP / Protheus / Proprietary tools) | High | Heavy graphical interfaces, parallelism of headless automations. Note: desktop/GUI automations do not run in parallel on the same machine (they share the graphical session); parallelize with separate machines/sessions, not with more CPU/RAM |
| Browser (Selenium, Playwright, WebBot) | Medium-high | All options instantiate a real browser. Consumption varies with the number of sessions, open tabs, and page complexity. Headless automations also fall into this category |
| Background / API | Low-Medium | Integrations via API without browser or graphical interface manipulation. Consumption depends on data volume and libraries used |
| Data processing | Variable | Depends on volume, complexity, and libraries involved |
Initial estimate by type¶
- Desktop: 4 vCPUs and 8 GB of RAM as a starting point (important to validate the requirements of the handled applications).
- Browser (Selenium, Playwright, WebBot): 4 vCPUs and 8 GB of RAM as a starting point — increase according to the number of simultaneous sessions.
- Background / API: use the Runner's minimum requirements (2 vCPU / 4 GB) as a starting point and validate with real monitoring.
- Parallel executions on the same machine: monitor consumption under representative load and adjust from there. As a conservative reference, consider multiplying resources by the number of simultaneous Bots — in practice, peaks rarely coincide, so actual sizing tends to be lower.
Recommended sizing process¶
Ideal sizing follows an empirical cycle:
- Provision the machine with the initial estimate based on the automation type.
- Run the automation under representative load and monitor CPU and memory in real time.
- Adjust iteratively: reduce if there is consistent slack; increase if there are spikes causing slowness or errors.
- Document the result by automation type to build a reliable internal reference.
Tip
Recommended monitoring tools:
- Windows: Task Manager (Performance tab) or Resource Monitor.
- Linux:
top,htop, orvmstat. - Azure VMs: Azure Monitor with VM CPU and memory metrics.
- For historical analysis, consider integrating tools such as OpenTelemetry, Dynatrace, or Grafana into the environment.
Quick provisioning reference¶
Use as a starting point — always validate with real monitoring.
| Scenario | vCPUs | RAM | Note |
|---|---|---|---|
| 1 background / API Bot | 2 | 4 GB | Starting point to validate with monitoring |
| 1 desktop Bot | 4 | 8 GB | Starting point |
| 1 browser Bot (Selenium / Playwright / WebBot) | 4 | 8 GB | Increase according to number of sessions and tabs |
| Multiple simultaneous Bots | — | — | Monitor under real load; conservative reference: multiply by the Bots, but actual consumption tends to be lower |
| Multiple Runners + multiple mixed Bots | 8–16 | 16–32 GB | Size according to demand and automation type |