SlideShare a Scribd company logo
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
2
UNDERSTANDING JUPYTERHUB
IN 1,000 (AND MAYBE A FEW MORE) COMMON WORDS
https://xkcd.com/simplewriter/
3
— Leonardo da Vinci
THE NOBLEST PLEASURE IS
THE JOY OF
UNDERSTANDING.
”
“
4
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
BASICS
6
7
HUB
A WAY TO GIVE A
JUPYTER NOTEBOOK
SERVER TO EACH
PERSON IN A GROUP
OF PEOPLE.
WHAT IS A NOTEBOOK?
• Document
• Environment
• Web app
https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
8
9
JUPYTER NOTEBOOK
Python
R
Julia
View and Enter
Stuff Part
Language Expert Thing
Important Stuff
Organizer and
Doing Thing
10
A SINGLE USER JUPYTER NOTEBOOK SERVER
Python
R
Julia
11
A THING TO GIVE A
JUPYTER NOTEBOOK
SERVER
TO EACH PERSON IN
A GROUP OF PEOPLE.
HUB
HOW IT WORKS
12
• Manages
authentication
• Spawns single-user
notebook servers
on-demand
• Gives each user a
complete notebook
server
13
WHAT DOES THE HUB DO?
• Hub (User Database,
Authenticator,
Spawner)
• Users and their
individual notebook
servers
• Configurable HTTP
Proxy
14
THE PARTS OF JUPYTERHUB
15
USER DATABASE
A PLACE TO KEEP
INFORMATION ABOUT PEOPLE
USING JUPYTERHUB
WHAT THE HUB CONTAINS
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
17
SPAWNER
A WORKER BEE THAT
MAKES JUPYTER NOTEBOOK
SERVERS FOR PEOPLE
WHAT THE HUB CONTAINS
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/
WHEN SHOULD
I USE IT?
19
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
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.
RESOURCES
AND HELP
22
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
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
25
All repos in jupyterhub organization
on GitHub
https://github.com/jupyterhub
Help
JupyterHub Documentation
http://jupyterhub.readthedocs.io/en/latest/index.html
THANKS!
26
HUB
Carol Willing
Project Jupyter at Cal Poly SLO
Twitter: @willingcarol
GitHub: @willingc
A THING TO GIVE EACH PERSON
THEIR OWN SHINY JUPYTER
NOTEBOOK SERVER
http://bit.ly/jupyterhub-pdc
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
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

More Related Content

PDF
Istio : Service Mesh
PDF
ArgoCD Meetup PPT final.pdf
PDF
Terraform Best Practices - DevOps Unicorns 2019
PDF
Kubernetes - Security Journey
PDF
JupyterHub: Learning at Scale
PDF
CANARY DEPLOYMENT
PDF
Serving models using KFServing
PDF
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Istio : Service Mesh
ArgoCD Meetup PPT final.pdf
Terraform Best Practices - DevOps Unicorns 2019
Kubernetes - Security Journey
JupyterHub: Learning at Scale
CANARY DEPLOYMENT
Serving models using KFServing
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD

What's hot (20)

PDF
Kubernetes Basics
PDF
Kubernetes Webinar - Using ConfigMaps & Secrets
PPTX
Kubernetes Workshop
PDF
GitOps with ArgoCD
PDF
Api observability
PPTX
Terraform
PDF
Docker Tutorial.pdf
PDF
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
PDF
Microservices, Kubernetes and Istio - A Great Fit!
PDF
Terraform Introduction
PPTX
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
PPTX
02 terraform core concepts
PDF
Kubernetes extensibility
PPTX
Kubernetes Basics
PDF
Introduction to Apache NiFi 1.11.4
PDF
Kubernetes
PDF
Introduction to Docker
PPTX
Securing and Automating Kubernetes with Kyverno
PDF
Observability & Datadog
PPTX
Kubernetes Introduction
Kubernetes Basics
Kubernetes Webinar - Using ConfigMaps & Secrets
Kubernetes Workshop
GitOps with ArgoCD
Api observability
Terraform
Docker Tutorial.pdf
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
Microservices, Kubernetes and Istio - A Great Fit!
Terraform Introduction
Why And When Should We Consider Stream Processing In Our Solutions Teqnation ...
02 terraform core concepts
Kubernetes extensibility
Kubernetes Basics
Introduction to Apache NiFi 1.11.4
Kubernetes
Introduction to Docker
Securing and Automating Kubernetes with Kyverno
Observability & Datadog
Kubernetes Introduction
Ad

Viewers also liked (10)

PDF
Infrastructure for the work of Data Scientists
PDF
Journey to Jupyter
PDF
Python - The People's Programming Language
PDF
Chimera States in Networks of Coupled Oscillators
PDF
Data, decision making, and being human
PDF
A Raspberry Pi Hexy - Python Conference PH 2016
PDF
PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...
PDF
Webinar: Deep Learning with H2O
PDF
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
PDF
Support and Initiate a DevOps Transformation
Infrastructure for the work of Data Scientists
Journey to Jupyter
Python - The People's Programming Language
Chimera States in Networks of Coupled Oscillators
Data, decision making, and being human
A Raspberry Pi Hexy - Python Conference PH 2016
PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...
Webinar: Deep Learning with H2O
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Support and Initiate a DevOps Transformation
Ad

Similar to JupyterHub - A "Thing Explainer" Overview (20)

PDF
JupyterHub - A "Thing Explainer" Overview
PDF
JupyterHub for Interactive Data Science Collaboration
PDF
Jupyter: A Gateway for Scientific Collaboration and Education
PDF
USING JUPYTERHUB IN THE CLASSROOM: SETUP AND LESSONS LEARNED
PDF
Jupyter, A Platform for Data Science at Scale
PDF
Computable content: Notebooks, containers, and data-centric organizational le...
PDF
Python and Jupyter: Your Gateway for Learning
PDF
Embedding a Jupyter Notebook - SORSE.pdf
PDF
JupyterHub, User Groups, and You
PDF
Data science apps powered by Jupyter Notebooks
PDF
Computable Content: Lessons Learned
PDF
Teaching with JupyterHub - lessons learned
PDF
Computable Content
PDF
JupyterHub tutorial at JupyterCon
PDF
Jupyter notebooks on steroids
PDF
Data science apps: beyond notebooks
PDF
IPython Notebooks - Hacia los papers ejecutables
PDF
Data Science Apps: Beyond Notebooks - Natalino Busa - Codemotion Amsterdam 2017
PDF
STEAM Workshops with Binder and JupyterHub
PPTX
An introduction to Jupyter notebooks and the Noteable service
JupyterHub - A "Thing Explainer" Overview
JupyterHub for Interactive Data Science Collaboration
Jupyter: A Gateway for Scientific Collaboration and Education
USING JUPYTERHUB IN THE CLASSROOM: SETUP AND LESSONS LEARNED
Jupyter, A Platform for Data Science at Scale
Computable content: Notebooks, containers, and data-centric organizational le...
Python and Jupyter: Your Gateway for Learning
Embedding a Jupyter Notebook - SORSE.pdf
JupyterHub, User Groups, and You
Data science apps powered by Jupyter Notebooks
Computable Content: Lessons Learned
Teaching with JupyterHub - lessons learned
Computable Content
JupyterHub tutorial at JupyterCon
Jupyter notebooks on steroids
Data science apps: beyond notebooks
IPython Notebooks - Hacia los papers ejecutables
Data Science Apps: Beyond Notebooks - Natalino Busa - Codemotion Amsterdam 2017
STEAM Workshops with Binder and JupyterHub
An introduction to Jupyter notebooks and the Noteable service

More from Carol Willing (12)

PDF
Interactive Computing in Computer Science
PPTX
Machine Learning and Jupyter
PDF
Learning Python: Tips from Cognitive Science, Jupyter, and Community
PDF
Jupyter and Music
PDF
JupyterHub + kubernetes
PDF
Yes, you can git!
PDF
Finding your groove
PPTX
2014 06 16_wearables_sdmakers
PDF
2014 01 23_pyladies_san diego python user group
PDF
2014 01 23_pycon_san diego python user group meeting
PDF
PyCon Poster 2014 music21
PPTX
PyLadies San Diego 2014 February meeting
Interactive Computing in Computer Science
Machine Learning and Jupyter
Learning Python: Tips from Cognitive Science, Jupyter, and Community
Jupyter and Music
JupyterHub + kubernetes
Yes, you can git!
Finding your groove
2014 06 16_wearables_sdmakers
2014 01 23_pyladies_san diego python user group
2014 01 23_pycon_san diego python user group meeting
PyCon Poster 2014 music21
PyLadies San Diego 2014 February meeting

Recently uploaded (20)

PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Approach and Philosophy of On baking technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Approach and Philosophy of On baking technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Review of recent advances in non-invasive hemoglobin estimation
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
Empathic Computing: Creating Shared Understanding
The Rise and Fall of 3GPP – Time for a Sabbatical?
CIFDAQ's Market Insight: SEC Turns Pro Crypto
“AI and Expert System Decision Support & Business Intelligence Systems”

JupyterHub - A "Thing Explainer" Overview

  • 1. 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
  • 2. 2
  • 3. UNDERSTANDING JUPYTERHUB IN 1,000 (AND MAYBE A FEW MORE) COMMON WORDS https://xkcd.com/simplewriter/ 3
  • 4. — Leonardo da Vinci THE NOBLEST PLEASURE IS THE JOY OF UNDERSTANDING. ” “ 4
  • 5. 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
  • 7. 7 HUB A WAY TO GIVE A JUPYTER NOTEBOOK SERVER TO EACH PERSON IN A GROUP OF PEOPLE.
  • 8. WHAT IS A NOTEBOOK? • Document • Environment • Web app https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers 8
  • 9. 9 JUPYTER NOTEBOOK Python R Julia View and Enter Stuff Part Language Expert Thing Important Stuff Organizer and Doing Thing
  • 10. 10 A SINGLE USER JUPYTER NOTEBOOK SERVER Python R Julia
  • 11. 11 A THING TO GIVE A JUPYTER NOTEBOOK SERVER TO EACH PERSON IN A GROUP OF PEOPLE. HUB
  • 13. • Manages authentication • Spawns single-user notebook servers on-demand • Gives each user a complete notebook server 13 WHAT DOES THE HUB DO?
  • 14. • Hub (User Database, Authenticator, Spawner) • Users and their individual notebook servers • Configurable HTTP Proxy 14 THE PARTS OF JUPYTERHUB
  • 15. 15 USER DATABASE A PLACE TO KEEP INFORMATION ABOUT PEOPLE USING JUPYTERHUB WHAT THE HUB CONTAINS
  • 16. 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
  • 17. 17 SPAWNER A WORKER BEE THAT MAKES JUPYTER NOTEBOOK SERVERS FOR PEOPLE WHAT THE HUB CONTAINS
  • 18. 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/
  • 20. 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
  • 21. 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.
  • 23. 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
  • 24. 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
  • 25. 25 All repos in jupyterhub organization on GitHub https://github.com/jupyterhub Help JupyterHub Documentation http://jupyterhub.readthedocs.io/en/latest/index.html
  • 26. THANKS! 26 HUB Carol Willing Project Jupyter at Cal Poly SLO Twitter: @willingcarol GitHub: @willingc A THING TO GIVE EACH PERSON THEIR OWN SHINY JUPYTER NOTEBOOK SERVER http://bit.ly/jupyterhub-pdc
  • 27. 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
  • 28. 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