jupyterhub - a "thing explainer" overview

28
A “THING EXPLAINER” OVERVIEW Twitter: @willingcarol GitHub: @willingc 1 Carol Willing Project Jupyter at Cal Poly SLO PyData Carolinas September 16, 2016 http://bit.ly/jupyterhub-pdc

Upload: carol-willing

Post on 19-Jan-2017

396 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: JupyterHub - A "Thing Explainer" Overview

A “THING EXPLAINER” OVERVIEW

Twitter: @willingcarol GitHub: @willingc

1

Carol Willing Project Jupyter at Cal Poly SLO

PyData Carolinas September 16, 2016

http://bit.ly/jupyterhub-pdc

Page 2: JupyterHub - A "Thing Explainer" Overview

2

Page 3: JupyterHub - A "Thing Explainer" Overview

UNDERSTANDING JUPYTERHUBIN 1,000 (AND MAYBE A FEW MORE) COMMON WORDS

https://xkcd.com/simplewriter/3

Page 4: JupyterHub - A "Thing Explainer" Overview

— Leonardo da Vinci

THE NOBLEST PLEASURE IS THE JOY OF

UNDERSTANDING.

4

Page 5: JupyterHub - A "Thing Explainer" Overview

LEONARDO MEETS THING EXPLAINER

5

• what this talk is A user friendly JupyterHub introduction

• what it is not A deep dive architecture talk or a “hands on” workshop..though I will give you resources to these things along the way

• Who Scientists, researchers, engineers, managers, teachers, you

• why Understanding the major parts that make up JupyterHub to help with planning, trial, and deployment

UNDERSTANDING JUPYTERHUB

Page 6: JupyterHub - A "Thing Explainer" Overview

BASICS

6

Page 7: JupyterHub - A "Thing Explainer" Overview

7

HUB

A WAY TO GIVE A JUPYTER NOTEBOOK SERVER TO EACH

PERSON IN A GROUP OF PEOPLE.

Page 8: JupyterHub - A "Thing Explainer" Overview

WHAT IS A NOTEBOOK?

• Document

• Environment

• Web app

https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers

8

Page 9: JupyterHub - A "Thing Explainer" Overview

9

JUPYTER NOTEBOOK

PythonR

Julia

View and Enter Stuff Part

Language Expert Thing

Important Stuff Organizer and Doing Thing

Page 10: JupyterHub - A "Thing Explainer" Overview

10

A SINGLE USER JUPYTER NOTEBOOK SERVER

PythonR

Julia

Page 11: JupyterHub - A "Thing Explainer" Overview

11

A THING TO GIVE A JUPYTER NOTEBOOK

SERVER TO EACH PERSON IN A GROUP OF PEOPLE.

HUB

Page 12: JupyterHub - A "Thing Explainer" Overview

HOW IT WORKS

12

Page 13: JupyterHub - A "Thing Explainer" Overview

• Manages authentication

• Spawns single-user notebook servers on-demand

• Gives each user a complete notebook server

13

WHAT DOES THE HUB DO?

Page 14: JupyterHub - A "Thing Explainer" Overview

• Hub (User Database, Authenticator, Spawner)

• Users and their individual notebook servers

• Configurable HTTP Proxy

14

THE PARTS OF JUPYTERHUB

Page 15: JupyterHub - A "Thing Explainer" Overview

15

USER DATABASE

A PLACE TO KEEP INFORMATION ABOUT PEOPLE

USING JUPYTERHUB

WHAT THE HUB CONTAINS

Page 16: JupyterHub - A "Thing Explainer" Overview

16

AUTHENTICATOR

A THING THAT CHECKS: • IF A PERSON IS WHO THEY CLAIM

TO BE • IF THEY CAN USE THEIR

JUPYTERHUB NOTEBOOK SERVER

WHAT THE HUB CONTAINS

Page 17: JupyterHub - A "Thing Explainer" Overview

17

SPAWNER

A WORKER BEE THAT MAKES JUPYTER NOTEBOOK

SERVERS FOR PEOPLE

WHAT THE HUB CONTAINS

Page 18: JupyterHub - A "Thing Explainer" Overview

18

HUB

UNDERSTANDING Human 2

Human 4

Human 1 Human 3 Human 5

Human 6

Human 1’s Notebook Server

Human 2

Human 3

Human 4

Human 5

Human 6

CONFIGURABLE HTTP PROXY

/hub/

/api/auth

/user/human4/

Page 19: JupyterHub - A "Thing Explainer" Overview

WHEN SHOULD I USE IT?

19

Page 20: JupyterHub - A "Thing Explainer" Overview

When to use JupyterHub• A class where students can do homework (nbgrader)

• A short-lived workshop, especially if installation is hard

• A research group with a shared workstation or small cluster

• On-site computing resources for researchers and analysts at an institution

20

Page 21: JupyterHub - A "Thing Explainer" Overview

When not to use JupyterHub

• tmpnb: anonymous, ephemeral notebooks

• binder: tmpnb + GitHub repos

• SageMathCloud is hosted and provides realtime-collaboration

21

Remember: JupyterHub is Authenticated and Persistent.

Page 22: JupyterHub - A "Thing Explainer" Overview

RESOURCES AND HELP

22

Page 23: JupyterHub - A "Thing Explainer" Overview

23

https://github.com/jupyterhub/jupyterhub-deploy-docker docker-compose, DockerSpawner, Hub in Docker

https://github.com/jupyterhub/jupyterhub-deploy-teaching ansible, no docker, nbgrader

Reference Deployments

Page 24: JupyterHub - A "Thing Explainer" Overview

24

JupyterHub mini-workshop July 2016

https://github.com/jupyterhub/jupyterhub-2016-workshop

Tutorial and Workshop

JupyterHub tutorial based on PyData London talk by Min Ragan-Kelley https://github.com/jupyterhub/jupyterhub-tutorial

Page 25: JupyterHub - A "Thing Explainer" Overview

25

All repos in jupyterhub organization on GitHub

https://github.com/jupyterhub

Help

JupyterHub Documentation http://jupyterhub.readthedocs.io/en/latest/index.html

Page 26: JupyterHub - A "Thing Explainer" Overview

THANKS!

26

HUB

Carol Willing Project Jupyter at Cal Poly SLOTwitter: @willingcarol GitHub: @willingc

A THING TO GIVE EACH PERSON THEIR OWN SHINY JUPYTER

NOTEBOOK SERVER

http://bit.ly/jupyterhub-pdc

Page 27: JupyterHub - A "Thing Explainer" Overview

Attribution

• xkcd https://xkcd.com/license.html

• Leonardo da Vinci. BrainyQuote.com, Xplore Inc, 2016. http://www.brainyquote.com/quotes/quotes/l/leonardoda154285.html, accessed August 12, 2016.

• https://xkcd.com/simplewriter/

• https://xkcd.com/386/

• PyData London Talk by Min Ragan-Kelley, Thomas Kluyver, and Kyle Kelly

27

Page 28: JupyterHub - A "Thing Explainer" Overview

PREVIEW

JUPYTERLAB

• Repo: https://github.com/jupyter/jupyterlab

• Preview GIF https://raw.githubusercontent.com/jupyter/jupyterlab/master/jupyter-plugins-demo.gif

• Prerequisite: Jupyter notebook 4.2+

• Install (conda): conda install -c conda-forge jupyterlab

• Install (pip): pip install jupyterlab jupyter serverextension enable --py jupyterlab --sys-prefix

• Run: jupyter lab

28