#acl hayd@cbs.mpg.de:read,write,delete,revert,admin Known:read,write All:read #pragma supplementation-page on = Einsatz-Szenarien für Singularity-Container = Wann wäre ein Singularity-Container hilfreich? <> == 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 [[https://de.wikipedia.org/wiki/HTCondor|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 [[/Discussion|Diskussionsseite]]