|
|
# Einsatz-Szenarien für Singularity-Container
|
|
|
|
|
|
Wann wäre ein Singularity-Container hilfreich?
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
|
|
|
|
|
|
## Konservierung für Publikationen
|
|
|
|
|
|
Eine Wissenschaflerin will die in einer Publikation beschriebene Software-Landschaft griffbereit haben, um Nachfragen beantworten, zusätzliche Auswertungen liefern zu können.
|
|
|
|
|
|
## Abschluss-Konservierung
|
|
|
|
|
|
Ein Gruppenleiter will die Programmier-Ergebnisse seines Doktoranden in einer tatsächlich nutzbaren Form über einen längeren Zeitraum griffbereit haben.
|
|
|
|
|
|
|
|
|
## portable Arbeitsumgebung
|
|
|
|
|
|
Ein Software-Entwickler will an mehreren Standorten arbeiten, um immer und überall die gewohnte Arbeitsumgebung mit dem letzten Stand der Entwicklung bei sich haben.
|
|
|
|
|
|
## Deployment
|
|
|
|
|
|
Eine Gruppe von Software-Entwicklern möchte den jeweils neuesten Stand ihrer Software an Interessenten verteilen.
|
|
|
|
|
|
## Reproduzierbarkeit
|
|
|
|
|
|
Ein Software-Entwickler möchte verschiedene Stadien seiner Software, die über die Zeit auch auf verschiedenen Versionen der zu Grunde liegenden Software (Compiler, glibc, Mathe-Bibliotheken, ...) lief, schnell nutzbar festhalten.
|
|
|
|
|
|
## Testing
|
|
|
|
|
|
Ein Software-Entwickler möchte seine Software auf verschiedenen Linux-Derivaten in verschiedenen Versionen testen.
|
|
|
|
|
|
Bevor die Linux-Distribution institutsweit upgedatet wird, soll getestet werden, ob Komponenten, die nicht aus dem offiziellen Repository der Distri stammen, Probleme bereiten.
|
|
|
|
|
|
|
|
|
## Plattformunabhängigkeit
|
|
|
|
|
|
Linux-Software soll auch auf !MacOS und Windows bereitgestellt werden.
|
|
|
|
|
|
|
|
|
## Dokumentation
|
|
|
|
|
|
Der komplette Stack eines Software-Paketes soll dokumentiert werden, indem man eine Bauanleitung für diesen bereitstellt, die ein lauffähiges Ergebnis als Beweis ihrer Richtigkeit liefert.
|
|
|
|
|
|
## Queueing
|
|
|
|
|
|
Ein Job, der erhebliche Computerresourcen benötigt, soll in das Queueing-System eines Supercomputer-Centers eingereiht werden. Die Abarbeitung des Jobs darf nicht an Mängeln in der Laufzeitumgebung (falsche Python-Version) scheitern.
|
|
|
|
|
|
## Vergleiche
|
|
|
|
|
|
Ein Wissenschaftler will Daten mit verschiedenen Versionen eines Programms auswerten und die Ergebnisse vergleichen.
|
|
|
|
|
|
|
|
|
## Skalierung
|
|
|
|
|
|
Software, die ein Entwickler auf seinem Laptop mit einem kleinen Datensatz getestet hat, will ein User auf seiner Workstation für die Auswertung großer Datensätze einsetzen.
|
|
|
|
|
|
## Parallelisierung
|
|
|
|
|
|
|
|
|
Eine Auswertung, die auf einem PC funktioniert, soll auf hunderte von Datensätzen auf mehreren, nicht extra präparierten Workstations (mit Hilfe von [HTCondor](https://de.wikipedia.org/wiki/HTCondor)) angewendet werden.
|
|
|
|
|
|
## Aktualität im Gewohnten
|
|
|
|
|
|
Ein Anwender will auf seiner Workstation immer die neueste Version einer sich rasch weiterentwickelnden Software einsetzen, ohne ansonsten seine gewohnte Umgebung zu verlassen.
|
|
|
|
|
|
## Das Gewohnte im Aktuellen
|
|
|
|
|
|
Ein Nutzer will sicherstellen, dass nach einem Dist-Upgrade seiner Arbeitsplatz-Installation die aktuelle Auswertung unverändert funktioniert.
|
|
|
|
|
|
|
|
|
|
|
|
## Portable Komplexität
|
|
|
|
|
|
Eine bestimmte Arbeitsumgebung besteht aus zahlreichen, komplex zu konfigurierenden und implementierenden, aus unterschiedlichen Quellen stammenden Komponenten. Dieser Aufwand soll gesichert werden.
|
|
|
|
|
|
## Gleiche Plattform
|
|
|
|
|
|
|
|
|
Für eine Schulung soll allen Teilnehmern das Unterrichtsmaterial für ihren Laptop bereitgestellt werden.
|
|
|
|