# Hardware requirements

> The hardware requirements for your High Availability Add-on (HAA) are different between development and production environments.

The hardware requirements for your High Availability Add-on (HAA) are different between development and production environments.

## Development environments

The following table describes the minimum requirements and recommended values for each item:

| Item | Minimum Requirements | Recommended |
| --- | --- | --- |
| HAA Nodes | 1 | 3 |
| RAM | 6 GB | 8 GB |
| Storage(default path `/opt/redislabs`) | 10 GB | 20 GB |

While one node is sufficient for a development environment, three or an odd number of nodes are recommended in order to utilize the clustering features likely needed for your production environment.

## Production environments

The following table describes the minimum requirements and recommended values for each item:

| Item | Minimum Requirements | Recommended |
| --- | --- | --- |
| HAA Nodes | 3 | 3 |
| Cores per Node | 4 | 8+ |
| RAM | 6 GB  (15 GB for deployments) | 30+ GB |
| Storage(default path `/opt/redislabs`) | 75 GB | 150+ GB |
| Network | 1 Gbps | 10+ Gbps |

:::note
Always maintain an odd number of nodes. This is required to obtain a quorum needed in failure and failover scenarios.
:::

## Ports

The following table describes each port and their respective protocol:

| Port | Protocol | Description |
| --- | --- | --- |
| 1968 | TCP | Default port used for internal proxy traffic. |
| 3333-3344  36379-36380 | TCP | Default port ranges used for internal cluster traffic. |
| 8001 | TCP | Used for traffic from the application to the [Discovery Service](https://docs.redislabs.com/latest/rs/concepts/data-access/discovery-service/), if applicable. |
| 8443 | TCP | Used for `HTTPS` access to the management UI. |
| 8444, 9080 | TCP | Default ports used for internal `nginx < - > cnm_http/cm` traffic. |
| 9081 | TCP | Default port used for internal CRDB (Conflict-free Replicated Database) traffic. Also required for Active-Active replication coordination. |
| 8070-8071 | TCP | Used for metrics exported and managed by `nginx`. |
| 9443 | TCP | Recommended port for REST API traffic. Used in Active-Active node bootstrap and cluster management. |
| 10000-19999 | TCP | Port range for database traffic. By default, HAA uses port `10000`. Required for Active-Active database sync. |
| 20000-29999 | TCP | Port range used for internal database shards traffic. |
| 53, 5353 | UDP | Used for internal `DNS/mDNS` traffic. |
| 8002, 8004, 8006 | TCP | System health monitoring. |
|  | ICMP | Used to check connectivity between nodes. |
