Context
Snapshots are point-in-time backups of your applications and their data. They provide a safety net for your research work, allowing you to restore applications to previous states, migrate data, or create archives for long-term preservation.
Since application data sizes can be quite huge (and therefor exhausting the backup routines) and container orchestration is a complex task, there is always a risk, that snapshot creation and restoration could fail or bail out during the process to keep the main system running.
Therefore, consider snapshots more as an additional oxygen tank than a complete deep-sea diving kit, and treat your system in such a way that you do not have to reset it due to negligence.
What you'll learn
- Understand what snapshots are and when to use them.
- Learn how to create snapshots of your applications.
- Know how to restore applications from snapshots.
- Develop effective backup strategies for your research data.
Prerequisites
- At least one deployed application.
- Familiarity with the Dashboard.
- Understanding of your applications and their data.
What Are Snapshots?
A snapshot captures the complete state of an application at a specific moment, including:
- Application data - All files, databases, and configurations.
- System state - Current settings and customizations.
- Metadata - Information about when and how the snapshot was created.
- Integrity verification - Checksums to ensure data hasn't been corrupted.
Snapshot Types by Application
Database Snapshots
- SQL Databases - Complete database dumps with all tables and data.
- Triplestores - RDF data exports in N-Quads format.
File System Snapshots
- Shared Folders - Not (yet) implemented.
- WissKI Data - Drupal files, uploaded content, and configurations.
Environment Snapshots
- WissKI Environments - All components within a WissKI environment (Drupal root directory + database + triplestore).
- Nextcloud - Not possible.
- JupyterHub - Not possible.
- Webprotégé - Not possible.
When to Create Snapshots
Before Major Changes
Always create a snapshot before:
- Updating software or configurations.
- Importing large datasets.
- Making structural changes to your data model.
- Experimenting with new features.
- Before vacation or extended absences.
- At project milestones.
Data Preservation
Create snapshots for:
- Archiving completed projects.
- Meeting institutional data retention requirements.
- Sharing data with collaborators.
- Creating stable versions for publication.
Creating Snapshots
From Your Dashboard
- Navigate to your Dashboard.
- Find the application you want to back up.
- Click on the application to open its detail page.
- Look for the "Create Snapshot" option.
- Provide a descriptive name for your snapshot.
- Add notes explaining what the snapshot contains.
- Click "Create" to start the backup process (only two snapshots a a time are allowed).
Snapshot Naming Best Practices
- Use descriptive names - "pre-migration-backup" rather than "backup1".
- Include dates - "project-data-2025-01-15".
- Note the purpose - "before-ontology-update".
- Add version information - "v2-final-submission".
Managing Your Snapshots
Viewing Snapshots
Access your snapshots through:
- Individual application detail pages.
- The Administration area under "SODa SCS Snapshots".
- Your Dashboard's snapshot management section.
Snapshot Information
Each snapshot displays:
- Creation date and time
- Application type and name
- File size and checksum
- Description and notes
- Creator information
Troubleshooting
Snapshot Creation Fails
- Check available storage space.
- Ensure the application is running properly.
- Contact administrators if the issue persists.