JupyterHub/Deployment

From E-Learning Challenge
Revision as of 16:05, 1 April 2020 by Hertz-ferdinand (talk | contribs) (remove bullet)
Jump to navigation Jump to search

Diese Seite beschreibt die Implementierung von JupyterHub für die Abschlusspräsentation von Team Hertz. Möglichkeiten für eine allgemeinere Implementation sind auch aufgenommen, z.B. für self-hosting durch die Uni Heidelberg.

Infrastruktur

Docker

1 Container enthält sowohl JupyterHub als auch die einzelnen Notebooks der Anwender enthält. Jeder Anwender hat einen Account innerhalb des Containers. Skaliert bis zu 100 Anwender (https://jupyterhub.readthedocs.io/en/stable/index.html).

Docker Compose

Speichert im Gegensatz zur 1-Container Lösung jedes Anwender-Note in einem einzelnen Docker container. Die Notebooks sind standardmäßig nicht permanent, können aber so konfiguriert werden. (https://github.com/jupyterhub/dockerspawner/#data-persistence-and-dockerspawner)

Skaliert nach Angaben von https://opendreamkit.org/2018/10/17/jupyterhub-docker/ auf "mehrere hundert Anwender".

Kubernetes

Non-plus-ultra Variante mit deutlich komplizierterer Aufsetzung bzw. Konfiguration.

Skaliert bis zu 10.000 Anwender. (https://jupyterhub.readthedocs.io/en/stable/getting-started/institutional-faq.html)

  • Mögliche Anbieter
    • Google Kubernetes Engine ([5]https://cloud.google.com/kubernetes-engine)
    • Azure Kubernetes Service ([6]https://docs.microsoft.com/en-us/azure/aks/intro-kubernetes)

Virtuelle Maschine

Jupyterhub kann entweder direkt installiert werden (vgl. Docker, 1 Container) oder als Basis für Docker bzw. Kubernetes verwendet werden.

Wichtig: Bei direkter Installation soll die virtuelle Maschine Linux verwenden, da JupyterHub Windows nicht unterstützt.

  • Mögliche Anbieter
    • digitalocean Bietet bis zu $1000 Kredit für COVID-19 Projekte (digitalocean.com/community/pages/covid-19)
    • netcup.de
    • Microsoft Azure Bietet bis zu $100 Kredit für Studenten (Azure for Students)
    • URZ (self-hosted, Uni HD) Nach Angaben von Dr. Koethe würde das URZ einen Server zur Verfügung stellen, falls JupyterHub gut ankommt.

Installation