# Requirements for High Availability

This section covers specific requirements for high-availability (HA) deployments for Nexus Repository. Review the following details before starting:

- #### Requires a Nexus Repository Pro license
  
  High-availability (HA) deployments are only available for Nexus Repository Pro customers.

- #### Requires technology outside of Nexus Repository scope

Prepare to have in-house expertise in these technologies. E.g.; Load Balancer, Kubernetes, Helm Charts, Docker, Cloud Infrastructure, etc.

- #### Requires significant infrastructure and maintenance costs

Evaluate the total investment costs of your architecture to meet your expected traffic and business requirements.

- #### Requires full testing before implementation in production

Improper deployment to production may result in excessive downtime and data loss.

## High Availability Requirements

- #### Every node must meet the system requirements

The [system requirements](https://help.sonatype.com/en/sonatype-nexus-repository-system-requirements.html "Sonatype Nexus Repository System Requirements") including the CPU and memory requirements must be met for each node independently. Every node must be on the same version of Nexus Repository with the same configuration in their `nexus.properties` file.

See [Zero Downtime Upgrades](https://help.sonatype.com/en/nexus-repository-zero-downtime-upgrades.html "Rolling Upgrades in High Availability") to learn more.

- #### Each node is on a separate server

For fault-tolerant deployments, ensure each Nexus Repository instance is on a physical server. Have different servers for each node to limit the risk of a system failing.

- #### Deploy to a single region or data center

HA deployments are restricted to a single data center. Deploying across-region leads to significant database latency and data loss. Nexus Repository may be deployed in a federated model to support other regions.

See the [Deployment Pattern Library](https://help.sonatype.com/en/deployment-pattern-library.html "Deployment Pattern Library")

### Technology Requirements

The following external technologies are required for HA deployments:

- #### A load balancer is required to distribute traffic

Examples include: [HAProxy](http://www.haproxy.org/), [NGINX](https://www.nginx.com/), [Apache HTTP](https://httpd.apache.org/), [AWS ELB](https://aws.amazon.com/elasticloadbalancing/), etc.

- #### Blob stores accessible to active nodes

See [Moving Blob Storage](https://help.sonatype.com/en/blob-stores.html#moving-a-blob-store "Moving a Blob Store")

- #### An external PostgreSQL database accessible to active nodes

A low-latency and high-performance database server is critical for HA deployments.

### Supported Infrastructure and Limitations

The following table outlines the supported infrastructure for HA deployments. Our support team's expertise is in AWS technologies. Other cloud infrastructure is supported but may fall outside of where our support team can provide guidance.

You must retain in-house expertise for the technologies you are using for your deployment.

| Hardware/Software Components | Specific Technology and Version |
| --- | --- |
| #### Nexus Repository | Nexus Repository Pro 3.50.0+ |
| #### Java Runtime Environment | See the [Java Compatibility Matrix](https://help.sonatype.com/en/java-compatibility-matrix.html "Java Runtime Compatibility Matrix") |
| #### Cloud Providers | AWS, Azure, and Google Cloud are supported. |
| #### Host Operating System | Operating systems that run your Java version. |
| #### Host Servers | AWS EC2<br>Azure VM<br>Bare metal servers<br>Hyper-V virtual machines<br>VMWare virtual machines |
| #### Databases | AWS Aurora PostgreSQL<br>AWS RDS PostgreSQL<br>Azure Database for PostgreSQL Flexible Server using PostgreSQL<br>Google Cloud SQL for PostgreSQL<br>Self-managed PostgreSQL<br>PostgreSQL version must still be considered supported by PostgreSQL as defined in [their versioning documentation](https://www.postgresql.org/support/versioning/) |
| #### Per-Node Local Storage<br>(sonatype-work directory) | AWS EBS<br>AWS EFS<br>Azure Storage<br>Google Cloud Filestore<br>NFS v4 |
| #### Blob Stores | AWS S3<br>AWS EFS<br>Azure Blob Storage<br>Google Cloud Storage<br>NFS v4 |
| #### Orchestration Platforms | AWS EKS v1.23+<br>Azure AKS 1.25.5<br>Google Kubernetes Engine 1.30+<br>Kubernetes (on-prem deployments) |
| #### Load Balancers | AWS ALB<br>Azure Load Balancer<br>Nginx/HTTPD (latest version) |
| #### CloudFormation and Terraform Scripts | Not available |
