Einsatz-Szenarien für Singularity-Container
Wann wäre ein Singularity-Container hilfreich?
Inhaltsverzeichnis
-
Einsatz-Szenarien für Singularity-Container
- Konservierung für Publikationen
- Abschluss-Konservierung
- portable Arbeitsumgebung
- Deployment
- Reproduzierbarkeit
- Testing
- Plattformunabhängigkeit
- Dokumentation
- Queueing
- Vergleiche
- Skalierung
- Parallelisierung
- Aktualität im Gewohnten
- Das Gewohnte im Aktuellen
- Portable Komplexität
- Gleiche Plattform
- Anmerkungen, Anregungen
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) 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.
Anmerkungen, Anregungen
Anmerkungen, Anregungen, Verbesserungsvorschläge hinterlasse man bitte auf der Diskussionsseite