> For the complete documentation index, see [llms.txt](https://ztrust.gitbook.io/ztrust-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ztrust.gitbook.io/ztrust-documentation/user-manual-ztrust-v4.1/2.-installation/2.0-resource-requirements-and-sizing.md).

# 2.0 Resource Requirements & Sizing

## Sizing CPU and memory resources

Use this as a starting point to size a ZTrust environment. Adjust the values for your environment as needed based on your load tests.

{% hint style="warning" %}

* Performance will be lowered when scaling to more Pods (due to additional overhead) and using a multi-cluster setup (due to additional traffic and operations).
* Increased cache sizes can improve the performance when ZTrust instances running for a longer time. This will decrease response times and reduce IOPS on the database. Still, those caches need to be filled when an instance is restarted, so do not set resources too tight based on the stable state measured once the caches have been filled.
* Use these values as a starting point and perform your own load tests before going into production.
  {% endhint %}

1. Minimum Hardware Resource Requirements

| Resource     | Minimum Specification                                                 |
| ------------ | --------------------------------------------------------------------- |
| vCPU         | 2 vCPU                                                                |
| Memory (RAM) | 4 GB                                                                  |
| Storage      | 25 GB                                                                 |
| Platform     | Kubernetes, AWS, Azure, or any other container orchestration platform |
| Network      | 1 Gbps NIC (recommended)                                              |

2. Target Users for ZTrust Deployment

<table><thead><tr><th>Tier</th><th>Target Users</th><th width="192">Number of Instances/Pods</th><th>CPU (Total)</th><th>RAM (Total)</th><th>Storage (Total)</th></tr></thead><tbody><tr><td>Small</td><td>≤ 1,000</td><td>2</td><td>4 CPU</td><td>16 GB</td><td>75 GB</td></tr><tr><td>Medium</td><td>≤ 10,000</td><td>3</td><td>8 CPU</td><td>32 GB</td><td>150 GB</td></tr><tr><td>Large</td><td>≤ 100,000</td><td>4</td><td>16 CPU</td><td>64 GB</td><td>500 GB</td></tr></tbody></table>

3. Use an L4/L7 Load Balancer (NGINX / HAProxy / Cloud LB) for distributing requests.
4. Software Componen&#x74;**:** PostgreSQL 17 (recommended version)

ZTrust SSO nodes should be stateless where possible, allowing scale-out and quick failover.
