Deployment Pattern Library

Deployment Pattern Library

Nexus Repository is mission-critical infrastructure with the need to balance the availability of the service with the cost of the hardware required to operate. Many Nexus Repository users have deployment teams across the globe, making effective and efficient distribution essential. In evaluating industry struggles and our customers' needs, we've identified three primary concerns that can be addressed with appropriate deployment patterns: resiliency, scalability, and distribution.

Resiliency refers to the ability to recover from disruptions to critical processes and supporting technology systems. Regardless of your distribution and scalability needs, you must have some level of resiliency for a successful deployment.

Resiliency starts with backup and restore procedures. Use this pattern for every Nexus Repository instance that is a system of record in your deployment.

See the Resiliency documentation for a comprehensive list of failure scenarios and recommendations.

Enterprise deployments experience large spikes in requests or require scalability to handle intense workloads. Scalability refers to a deployment's ability to adjust to these flexible, changing demands. These are some ways Nexus Repository can be scaled.

A solid Nexus Repository deployment requires establishing both your current and future distribution needs. You can define these by answering a few important questions:

You'll need to decide how many authoritative vs. transient instances you need; this helps determine a base deployment pattern from which to design your full deployment.

A star pattern is a centralized administration with transient servers as local proxies.

A federated deployment will involve distinct regional hubs sharing replicated content.

When there are very high read traffic on a single system of record consider distributing this traffic to more transient proxy nodes to insolate your development environments.

See scaling with proxies

Bi-directional proxying allows users to pull artifacts on demand from a distant repository via a proxy repository

Content replication proactively pulls content from a central host repository so content is quickly available on the remote server.

Deployment Patterns

The patterns in this library represent proven ways of deploying Nexus Repository; you likely need to combine multiple patterns to meet your needs.

Resilient/Scalable Patterns

You can combine the patterns in this section with any distribution patterns to add scalability and/or resiliency to your deployment.

Pattern Needs Addressed Description
Backup/Same-Site Restore Resiliency: Data Backup/Same-site restore is an essential foundational pattern that involves backing up your Nexus Repository system of record so that you can restore from a point in time if necessary.
Use this pattern to protect against data corruption.
Disaster Recovery Site Resiliency: Data and Region Adding a disaster recovery (DR) site involves having a cold standby available so that you can spin up a Nexus Repository instance and switch to this site in the event of failure at your primary Nexus Repository system of record.
PostgreSQL Recommended
On-Prem Active/Passive Resiliency Resiliency: Node Our resiliency patterns make recovery less manual by using an automatic recovery mechanism (e.g., Kubernetes) to accomplish automatic failover if a system of record goes down.
PostgreSQL Required
Cloud Active/Passive Resiliency Resiliency: Node and Availability Zone Our resiliency patterns make recovery less manual by using an automatic recovery mechanism (e.g., Kubernetes) to accomplish automatic failover if a system of record goes down.
The cloud version of our resiliency pattern also protects against availability zone (AZ) outages.
PostgreSQL Required
On-Prem Active/Active High Availability Resiliency
Scalability
Advanced high availability (HA) deployment options use multiple active Nexus Repository instances to maximize uptime and minimize data loss in the event of node failure.
PostgreSQL Required
Cloud Active/Active High Availability Resiliency
Scalability
Advanced HA deployment options use multiple active Nexus Repository instances to maximize uptime and minimize data loss in the event of node failure.
PostgreSQL Required

Base Distribution Patterns

Pattern Needs Addressed Description
Star Pattern (aka hub-and-spoke pattern) Distribution: Single system of record The star pattern is a base pattern that uses the scaling with proxies pattern to add more transient satellites to a single system of record.
Federated Repositories Distribution: Multiple systems of record Federated repositories involve multiple systems of record that also use the bi-directional proxy pattern and/or content replication pattern to distribute artifacts between them.

Extensions to Base Distribution Patterns

Extension Pattern Builds Off Of Needs Addressed Description
Scaling with Proxies Star Pattern Scalability Scaling with proxy nodes allows you to take read load off of a primary Nexus Repository system of record (node) by using proxy nodes with a load balancer to split read traffic.
Bi-Directional Proxying Federated Repositories On-Demand Distribution Bi-directional proxying provides on-demand distribution by having writes published to a hosted repository in a given region. Then, when a team in another region needs those components, they request them via a proxy repository in their region. The proxy then pulls those requested components from the hosted repository in the first region.
Content Replication Pattern Federated Repositories Proactive Distribution Content Replication allows teams to publish artifacts to a hosted repository in a Nexus Repository system of record. Then, a proxy repository in another Nexus Repository instance pre-emptively fetches these artifacts via HTTP to provide faster artifact availability across distributed teams.
PostgreSQL Required

Example Combination Patterns

The examples below combine some of the patterns described above to meet multiple needs.

Combination Pattern Needs Addressed Description
Combination Active/Active High Availability + Disaster Recovery Site Resiliency
Scalability
This pattern provides two layers of resiliency. It uses active/active HA to protect against node or AZ outages and a DR site to protect against a regional outage.
PostgreSQL Required
Combination Active/Active High Availability + Disaster Recovery Site + Federated Repositories Resiliency
Scalability
Distribution
This pattern is the same as the Active/Active HA + DR Site combo described above but adds a layer of redundancy by using federated repositories to distribute artifacts between two regions.
PostgreSQL Required