Requirements
Below is a list of minimal hardware, system and software requirements to set up Step
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 (11.0.11+) or 17 installed | MongoDB 5.0+ to 7.0+ or PostgreSQL 12 installed | Oracle/Hotspot JDK JDK 11 (11.0.11+) or 17 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: only recommended for low load use such as RPA and synthetic monitoring (no parallel executions)
- high-performance: recommended for load test executions or frequent and parallel executions.
- 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 |
MongoDB | standard | 500m | 2000m | 2000Mi | 2000Mi | N/A | N/A | N/A |
Controller | high-performance | 3500m | 3500m | 10000Mi | 10000Mi | 2550Mi | 7450Mi | N/A |
MongoDB | high-performance | 3500m | 3500m | 3400Mi | 3400Mi | 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 |
With the official Helm chart of Step, the size of the java maximum memory (Xmx) is calculated based on the configuration value “NON_HEAP_MEMORY_MB” and the pod memory limit (i.e. Xmx = pod memory limit - NON_HEAP_MEMORY_MB)
Recommendations:
- Stability: It is mandatory to keep Xmx below the pod memory request and to keep sufficient space for native memory. To avoid any stability issues we strongly recommend to align memory limit and request for the controller and the database.
- Performance: For stable performance we recommend to always align pod memory 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 high-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.