Requirements for High Availability

Requirements for High Availability

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

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

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

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

High Availability Requirements

The 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 to learn more.

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.

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

Technology Requirements

The following external technologies are required for HA deployments:

Examples include: HAProxy, NGINX, Apache HTTP, AWS ELB, etc.

See Moving Blob Storage

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
#### Cloud Providers AWS, Azure, and Google Cloud are supported.
#### Host Operating System Operating systems that run your Java version.
#### Host Servers AWS EC2
Azure VM
Bare metal servers
Hyper-V virtual machines
VMWare virtual machines
#### Databases AWS Aurora PostgreSQL
AWS RDS PostgreSQL
Azure Database for PostgreSQL Flexible Server using PostgreSQL
Google Cloud SQL for PostgreSQL
Self-managed PostgreSQL
PostgreSQL version must still be considered supported by PostgreSQL as defined in their versioning documentation
#### Per-Node Local Storage
(sonatype-work directory)
AWS EBS
AWS EFS
Azure Storage
Google Cloud Filestore
NFS v4
#### Blob Stores AWS S3
AWS EFS
Azure Blob Storage
Google Cloud Storage
NFS v4
#### Orchestration Platforms AWS EKS v1.23+
Azure AKS 1.25.5
Google Kubernetes Engine 1.30+
Kubernetes (on-prem deployments)
#### Load Balancers AWS ALB
Azure Load Balancer
Nginx/HTTPD (latest version)
#### CloudFormation and Terraform Scripts Not available