Skip to content
Snippets Groups Projects
Commit c42e2aab authored by Max Melchert's avatar Max Melchert
Browse files

docs: enhance brainstorm; add pros/cons

parent 5c09c50b
Branches
No related tags found
No related merge requests found
# Brainstorm # Brainstorm
## Overview
- verschiedene Lösungsansätze verfolgen
- unterschiedliche Anwendung (kleine Scripts vs. große Projekte)
- unterschiedliche Nutzer:innen-Erfahrung
- "TensorBoard"
## SSH
> kleine Scripts sowie große Projekte
- CLI: byobu
- GUI: Xpra
- Datasets über NFS
- [-] schlechte Serverauslastung
### Bare Metal
- [+] Keinen automatischen Server-Stopp (JupyterHub stoppt nach 3 || 4 Tagen)
- [-] Firewall-Routing erforderlich
- [-] Linux-Account erforderlich (mit SSH-Schlüssel)
- [-] Nutzer:in muss Conda-Umgebung erstellen
### JupyterHub
- Code-Tunnel (Github- oder Microsoft-Account)
- "ngrok"
- Eintrag in JupyterHub-Config zur Nutzung der GPUs
- [+] Conda-Umgebung bereits vorhanden
- [-] vmtl. neue Tunnelerstellung bei jedem Starts des User-Servers auf JupyterHub
- `$ code tunnel`
## Makefile ## Makefile
> kleine Scripts; kurzfristige Ausführung; Debugging > kleine Scripts; kurzfristige Ausführung; Debugging
- Konfiguration über Makefile-Variablen - Konfiguration über Makefile-Variablen
- Targets - Targets
- `make push` Kopiert Code von Client auf Server (`scp`) - `make push` kopiert Code von Client auf Server (`scp` || `rsync`)
- `make exec` Führt Code auf Server aus (`ssh`) - `make exec` führt Code auf Server aus (`ssh`)
- `make status` Fragt Fortschritt auf Server ab (`ssh`) - `make status` fragt Fortschritt auf Server ab (`ssh`)
- `make pull` Kopiert Output von Server auf Client (`scp`) - `make pull` kopiert Output von Server auf Client (`scp` || `rsync`)
## JupyterHub – Browser
- JupyterHub im Browser
- Terminal von JupyterLab zur Ausführung
- [+] "bessere" Serverauslastung (Ressourcenmanagement)
- [+] keine byobu-Abhängigkeit
- [-] ungewünschte Nutzung von JupyterHub (im Browser)
## GitLab ## GitLab
...@@ -21,17 +61,23 @@ ...@@ -21,17 +61,23 @@
4. [Pipelines](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/pipelines) [![Pipeline Status](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/badges/main/pipeline.svg)](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/commits/main) 4. [Pipelines](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/pipelines) [![Pipeline Status](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/badges/main/pipeline.svg)](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/commits/main)
5. [Artifacts](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/artifacts): Output 5. [Artifacts](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/artifacts): Output
Vorteile: - [+] "optimale" Serverauslastung
- [+] "bekannter" / standardisierter Workflow
- "bekannter" Workflow - [+] GUI vorhanden
- GUI vorhanden - [+] integrierte Versionsverwaltung
- integrierte Versionsverwaltung - [+] automatisierte Ausführung des Codes
- automatisierte Ausführung des Codes - Runners-Konfiguration nötig (max. Laufzeit)
- Fortschrittskontrolle - [+] Fortschrittskontrolle
- E-Mail-Benachrichtigung bei fehlerhafter Pipeline - E-Mail-Benachrichtigung
- Ablage der letzten Output-Versionen - fehlerhafter Pipeline (default)
- erfolgreicher Pipeline (Repo Notification Settings)
Nachteile: - [Matrix-Bot](https://gitlab.cvh-server.de/mmelchert/akis-cloud-computing/-/settings/integrations/matrix/edit)
- [+] Ablage der letzten Output-Versionen (Artifacts)
- statischer Link zum Output des letzten Jobs
- jede Code-Änderung ein Commit & Push - jede Code-Änderung ein Commit & Push
- Speicheraufwand (GitLab auf Hetzner-Server) - [+] grundsätzlich sinnvoll
- [-] eher ungeeignet fürs Debugging
- [-] Speicheraufwand (GitLab auf Hetzner-Server)
- Umzug möglich
<!-- todo: Jobs vs. [MLOps](https://docs.gitlab.com/user/project/ml/) -->
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment