Backing Up and Restoring: Keeping your Data Secure

Migrating from Artifactory to ProGet
Step-by-Step Guide & Best Practices

Backing Up and Restoring

When it comes to development, the safety of your assets is vital. Losing valuable data can set projects back significantly. However, the reality is that any software or hardware is susceptible to failure, making backups essential.

ProGet provides comprehensive solutions for your security needs, not messing around with over-complicated storage systems, and instead keeping it to simple package storage on disk.

In this article, we’ll cover how ProGet stores your data, and how it handles back-ups for both small and large instances. We’ll also take a look at additional methods, including redundancy and disaster recovery.

How Data is Handled in ProGet

ProGet stores metadata in an SQL database. The package files themselves are stored individually on disk in a directory structure. This means that each package is directly accessible and identifiable within the file system, stored as separate items. Developers can easily locate and access specific packages without the need to deal with binaries or the checksum naming conventions used by Artifactory.

In ProGet a package is a package. Packages by default are stored in the directory of a feed, created by combining the root storage path, package path, and feed ID. For example:

%ProgramData%\ProGet\PackagesRoot.nugetv2\F1

This format will also make importing, exporting, and migration much easier.

Backing Up Your Data

ProGet doesn’t differentiate between small and large instances when backing up your data, unlike Artifactory which handles them differently whether it’s a small (<500GB) or large (>500GB) instance, with large instances requiring external tools like Amazon’s S3 Versioning Service.

As modern software, we feel it’s important to make it very easy for third-party tools to backup and restore your data.

Backing up a ProGet instance is very simple. It only involves backup up three main components:

  • Configuration file
  • SQL Server database
  • Package Files

Additional Ways to Keep Your Data Safe

Redundant Storage

ProGet does not offer a built-in solution that mimics Artifactory’s File Sharding, considering it an outdated method. It’s regarded as risky, complex, and prone to failure, with even JFrog admitting that creating too many shards leading to an impact on performance.

Instead ProGet recommends using RAID to provide redundancy as a storage solution.

Replication

ProGet also includes replication (think of Artifactory’s Mission Control tool). It involves setting once instance as outgoing, much like a “master”, and another as the incoming, like the “target”. You can also set two feeds to mirror each other, and push/pull from each other to synchronize.

Conclusion

ProGet offers solutions to data security, based on reliable modern methods. Regardless of instance size it’s best to always trust backups with actual backup solutions, rather than built-in features or software.

ProGet’s file system is designed for ease of backups, storing simple individual files with no binary or checksum complications to deal with. It also uses modern solutions at operating system level for its redundant storage, instead of outdated built-in features.

For more on managing your data in ProGet, check out our next article that breaks down Retention Policies.