Migrating to a Resilient Deployment
Migrating Nexus Repository to a resilient architecture requires migrating to an external PostgreSQL database and migrating your blob stores before changing the server architecture. Deployments currently using PostgreSQL and object storage may skip to the reference architectures while reviewing this documentation to cover any required configuration.
We recommend migrating in phases while testing the service at each phase. Similarly, we recommend starting with a single node in the new environment before scaling to a highly available cluster. This reduces the complexity and potential points of error.
Migrate to a PostgreSQL database.
Migrate blob stores.
Scale deployment to a resilient architecture.
Moving from On-Premise to Cloud Platforms
When migrating from on-premise to cloud deployments, we recommend using a lift-and-shift approach.
Lift-and-shift is a cloud migration strategy where an organization moves its existing Nexus Repository deployment from an on-premises environment to the cloud without making significant modifications to its architecture, code, or functionality. We recommend maintaining your current architecture as much as possible during the initial move.
One exception to this guidance is to use a load balancer from the start rather than connecting directly to the Nexus Repository server. This reduces the amount of effort required later to reconfigure builds and tooling pointing to Nexus Repository as you scale your service.
See Migrating Blobs to the Cloud for recommended tooling to migrate your data to the cloud environment.
When migrating multiple terabytes of data, consult directly with your cloud provider for guidance to avoid prolonged downtime and for the most cost-effective methods of transferring your data. Consider first cleaning up unneeded artifacts to manage costs.
Migrating to PostgreSQL Database
Resilient and high-availability architecture requires using an external PostgreSQL database. For cloud deployments, we recommend using the following cloud services for your PostgreSQL database:
AWS Aurora or RDS PostgreSQL
Azure Database for PostgreSQL
Google Cloud SQL for PostgreSQL
For all migrations, follow these instructions for Migrating to PostgreSQL.
Resiliency for the PostgreSQL Database
Resilient and high-availability deployments must have processes in place for managing, backing up, and restoring the PostgreSQL database. These processes take place outside of the Nexus Repository and are not covered in our documentation.
See the PostgreSQL documentation
On-Premise Deployments
On-premise is defined as either your infrastructure or a data center managed by your organization. While you may use similar technologies as those managed by the cloud providers, these instructions are separate to isolate cloud-specific requirements.
For any resilient deployment, the blob stores should not be located in the sonatype-work
directory so you may be required to move the blob stores depending on your chosen deployment.
Cloud Deployments
After migrating the database, move your blob stores to the cloud's object storage. Resilient and high-availability deployments leverage object storage for reliability and redundancy.
See Migrating Blobs to the Cloud for steps in copying your blob stores to your cloud object storage.
Cloud Deployments Architecture
After migrating your database and blob stores, refer to one of the following to set up your resilient or HA architecture:
Amazon Web Services (AWS) Microsoft Azure Google Cloud Platform (GCP)