Zum Inhalt springen

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.

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.

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 nbdime einsetzen
    Tools wie nbdime verbessern die Darstellung von Diffs und vereinfachen das Auflösen von Merge-Konflikten in Notebooks.

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-name eignen 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.