Requirements
On-premise requirements
Below is a list of minimal hardware, system, and software requirements to set up Step. The specified versions of third-party software correspond to the ones officially tested and supported.
Step Controller | Step DB | per Step Agent | |
---|---|---|---|
OS | Redhat, SLES, Debian, Windows 7 to 10, Windows Server 2012 to 2022 | Redhat, SLES, Debian, Windows 7 to 10, Windows Server 2012 to 2022 | Redhat, SLES, Debian, Windows 7 to 10, Windows Server 2012 to 2022 |
Software: | Oracle/Hotspot JDK 11, 17 or 21 installed | MongoDB 5.0+ to 7.0+ or PostgreSQL 12 to 15 installed | Oracle/Hotspot JDK 11, 17 or 21 installed |
Disk Space | 20 GB space (+ OS space) | 100 GB (depending on the TTL and volume of Executions) | 2 GB space (+ OS space) |
Disk Type | Local SSD or SAN | Local SSD or SAN | Local SSD or SAN |
RAM | 10 GB RAM (+ OS RAM) | 10 GB RAM (+ OS RAM) | 2 GB RAM (+ OS RAM) |
CPU | 4 CPU cores | 4 CPU cores | 2 CPU cores |
Network bandw. | GB Link to Agents and DB | GB Link to Controller | GB Link to Controller |
Network rules | open routes to Agents, DB, HP ALM & clients | open routes to controller | open routes to controller, SUTs |
System conf | No virus scanning, manual updates, stable Java version dedicated tech user (admin/root access), | No virus scanning, manual updates, stable Java version dedicated tech user (admin/root access), | No virus scanning, manual updates, stable Java version dedicated tech user (admin/root access), |
Hardware conf | Non-virtualized or hard allocated resources | Non-virtualized or hard allocated resources | Non-virtualized or hard allocated resources |
Helm and Kubernetes requirements
For deployments on Kubernetes following requirements and recommendations have to be considered.
The following tables proposes different “flavors” based on the practice for different use cases:
- Controller and database:
- Standard: Suitable for lightweight, low-frequency use such as RPA, synthetic monitoring, or functional validation with no or minimal parallel executions.
- Performance: Designed for frequent or parallel execution scenarios, including load testing, automated CI pipelines, and parallel synthetic monitoring jobs. Recommended when running multiple or frequent executions, but without the need for full enterprise scalability.
- Enterprise-grade: Built for mission-critical, high-concurrency, and large-volume orchestration needs.
- Agents:
- UI-standard: Recommended for automation starting a client application such as a browser.
- API-standard: Recommended for API automation with no external process.
Component | Flavor | CPU request | CPU limit | Memory request | Memory limit | Java max memory* | Native (non heap) memory* | Agent tokens |
---|---|---|---|---|---|---|---|---|
Controller | standard | 750m | 2000m | 2500Mi | 2500Mi | 1750Mi | 750Mi | N/A |
Database | standard | 500m | 2000m | 2000Mi | 2000Mi | N/A | N/A | N/A |
Controller | performance | 3500m | 3500m | 10000Mi | 10000Mi | 4000Mi | 6000Mi | N/A |
Database | performance | 3500m | 3500m | 3400Mi | 3400Mi | N/A | N/A | N/A |
Controller | enterprise-grade | 8000m | 8000m | 12000Mi | 12000Mi | 6000Mi | 6000Mi | N/A |
Database | enterprise-grade | 8000m | 8000m | 12000Mi | 12000Mi | N/A | N/A | N/A |
Agent | ui-standard | 1750m | 1750m | 1800Mi | 1800Mi | 300Mi | 1500Mi | 1 |
Agent | api-standard | 1750m | 1750m | 1800Mi | 1800Mi | 1550Mi | 250Mi | 100 |
Recommendations:
- Stability:
- To avoid any stability issues we strongly recommend to align memory limit and request for the controller and the database.
- It is mandatory to keep Xmx* below the pod memory request and to keep sufficient space for native memory.
- Performance: For stable performance we recommend to always align pod request and limit for both memory and CPU of all components.
- Controller: Sufficient non heap memory is required for external process such as the function package scanner (~500MB) and for parallel threads executions (~1MB per thread). The performance flavour has been validated for load tests with 5000 parallel VUs.
- Agent: For flavors used for browser testing, sufficient non heap memory must be considered to run drivers and browsers. The ui-standard flavour has been validated with selenium, cypress and playwright. To be noted that resources required by an agent will always depend on your automation code and on the automated application. Refer to the Agent Sizing Guide for details.
*With the official Helm chart of Step, the size of the java maximum memory (Xmx) is derived from the helm value NON_HEAP_MEMORY_MB
and the pod memory limit (i.e. Xmx = pod memory limit - NON_HEAP_MEMORY_MB). The value NON_HEAP_MEMORY_MB
must be set adequately.
Disclaimers and references:
- The preceding sizing recommendations on this page should fit most typical needs. As detailed in the following guide for the agents, monitoring and adapting the sizing of the controller and the database to your actual usage remain crucial too.
- The recommendations are based on benchmark and usage patterns observed in live environments. As reference, the CPU used for the benchmarks are Intel Xeon Gold 6268CL Processor (2.8 - 3.4 GHz)
Sizing guide
For detailed guidance on how to provision and scale agents based on your automation workload, refer to the Agent Sizing Guide.