Best Practices
Zuletzt aktualisiert am
Diese Seite fasst bewährte Best Practices für die Entwicklung und den Betrieb von Workloads mit STACKIT Notebooks zusammen. Die Einhaltung dieser Richtlinien stellt Wartbarkeit, Reproduzierbarkeit, eine reibungslose Zusammenarbeit und einen sicheren Betrieb sicher.
Entwicklungs-Workflow
Abschnitt betitelt „Entwicklungs-Workflow“Beim interaktiven Arbeiten ist ein strukturierter Workflow unerlässlich. Wir empfehlen Git für den gesamten Code und alle Notebooks zu nutzen:
- Speichern Sie Notebooks (
.ipynb) und zugehörige Python-Module konsequent in einem Git-Repository. - Nutzen Sie Feature-Branches und Pull Requests für die Zusammenarbeit und Code-Reviews.
- Verlassen Sie sich nicht darauf, kritische Logik nur auf laufenden Notebook-Servern vorzuhalten.
Notebooks sauber versionieren
Abschnitt betitelt „Notebooks sauber versionieren“Da Notebooks technisch JSON-Dateien sind, können Versionsvergleiche (Diffs) ohne Vorbereitung unübersichtlich werden.
-
Notebooks ohne Ausgaben committen
Löschen Sie Zell-Ausgaben vor dem Commit (zum Beispiel automatisch über Pre-commit-Hooks). Das reduziert Merge-Konflikte und schont die Speichergröße des Repositories. -
Geschäftslogik aus Notebooks auslagern
Verschieben Sie wiederverwendbaren Code in separate.py-Module und importieren Sie diese in Ihr Notebook. Das erleichtert automatisierte Tests und Code-Reviews erheblich. -
Hilfsmittel wie
nbdimeeinsetzen
Tools wienbdimeverbessern die Darstellung von Diffs und vereinfachen das Auflösen von Merge-Konflikten in Notebooks.
Zusätzliche Pakete installieren
Abschnitt betitelt „Zusätzliche Pakete installieren“Für viele Analysen werden zusätzliche Python-Abhängigkeiten benötigt. Folgende Tipps führen zu einer verlässlichen Reproduzierbarkeit und helfen Abweichungen zwischen den Umgebungen zu verhindern (Environment Drift):
-
Dauerhafte
pip install-Befehle in Notebooks vermeiden
Das ad-hoc Installieren von Paketen direkt in den Zellen führt zu unvollständigen, nicht reproduzierbaren Umgebungen. Zudem können dynamisch installierte Pakete nach einem Kernel-Neustart verloren gehen. -
Laufzeit-Installationen nur für Experimente nutzen
Befehle wie!pip install paket-nameeignen sich für schnelles Prototyping in Entwicklungsumgebungen (DEV), sind jedoch nicht für den Produktionsbetrieb oder gemeinsam genutzte Teamsysteme geeignet. -
Best Practice: Maßgeschneiderte Profile nutzen
Wenn Sie spezielle Anforderungen an Ihre Laufzeitumgebung in STACKIT Notebooks haben, wenden Sie sich an den Support. Das Team kann Ihnen ein passendes, vordefiniertes Profil bereitstellen.