SlideShare a Scribd company logo
A “THING EXPLAINER”
OVERVIEW
Twitter: @willingcarol
GitHub: @willingc
1
Carol Willing
Project Jupyter at Cal Poly SLO
JupyterDay Atlanta
August 13, 2016
http://bit.ly/jupyterhub-atl
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-atl
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

More Related Content

What's hot

Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
Flink Forward
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basics
Juraj Hantak
 
Distributed tracing using open tracing & jaeger 2
Distributed tracing using open tracing & jaeger 2Distributed tracing using open tracing & jaeger 2
Distributed tracing using open tracing & jaeger 2
Chandresh Pancholi
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
"FENG "GEORGE"" YU
 
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
LibbySchulze
 
Observability in the world of microservices
Observability in the world of microservicesObservability in the world of microservices
Observability in the world of microservices
Chandresh Pancholi
 
Git & GitHub for Beginners
Git & GitHub for BeginnersGit & GitHub for Beginners
Git & GitHub for Beginners
Sébastien Saunier
 
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作るGoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
京大 マイコンクラブ
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료
Opennaru, inc.
 
Observability
ObservabilityObservability
Observability
Diego Pacheco
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
Kohei Tokunaga
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
Saurav Haloi
 
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab) Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Minnie Seungmin Cho
 
ClassLoader Leaks
ClassLoader LeaksClassLoader Leaks
ClassLoader Leaks
Mattias Jiderhamn
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
HarikaReddy115
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
Kohei Tokunaga
 
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...
LibbySchulze
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 
Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with Prometheus
Grafana Labs
 

What's hot (20)

Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basics
 
Distributed tracing using open tracing & jaeger 2
Distributed tracing using open tracing & jaeger 2Distributed tracing using open tracing & jaeger 2
Distributed tracing using open tracing & jaeger 2
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
 
Observability in the world of microservices
Observability in the world of microservicesObservability in the world of microservices
Observability in the world of microservices
 
Git & GitHub for Beginners
Git & GitHub for BeginnersGit & GitHub for Beginners
Git & GitHub for Beginners
 
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作るGoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료
 
Observability
ObservabilityObservability
Observability
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab) Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
 
ClassLoader Leaks
ClassLoader LeaksClassLoader Leaks
ClassLoader Leaks
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
 
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Monitoring Kubernetes with Prometheus
Monitoring Kubernetes with PrometheusMonitoring Kubernetes with Prometheus
Monitoring Kubernetes with Prometheus
 

Similar to JupyterHub - A "Thing Explainer" Overview

JupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" OverviewJupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" Overview
Carol Willing
 
Jupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and EducationJupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and Education
Carol Willing
 
'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa
Nathan Shammah
 
Drupal and Elasticsearch - The "new school" search engine
Drupal and Elasticsearch - The "new school" search engineDrupal and Elasticsearch - The "new school" search engine
Drupal and Elasticsearch - The "new school" search engine
Nikolay Ignatov
 
Building Your Next Great Product by Talking to Users Each Step of the Way
Building Your Next Great Product by Talking to Users Each Step of the WayBuilding Your Next Great Product by Talking to Users Each Step of the Way
Building Your Next Great Product by Talking to Users Each Step of the Way
Alex Humphreys
 
Elasticsearch PHP UG BG
Elasticsearch PHP UG BGElasticsearch PHP UG BG
Elasticsearch PHP UG BG
Nikolay Ignatov
 
Jupyter news August 2016
Jupyter news August 2016Jupyter news August 2016
Jupyter news August 2016
Robert Clewley
 
Learning Lean: Using Flash Builds to Learn from Your Users
Learning Lean: Using Flash Builds to Learn from Your UsersLearning Lean: Using Flash Builds to Learn from Your Users
Learning Lean: Using Flash Builds to Learn from Your Users
Alex Humphreys
 
Open sourcery
Open sourceryOpen sourcery
Open sourcery
Alex Meade
 
COAR Next Generation Repositories Working Group
COAR Next Generation Repositories Working GroupCOAR Next Generation Repositories Working Group
COAR Next Generation Repositories Working Group
Paul Walk
 
Data visualisation in python tool - a brief
Data visualisation in python tool - a briefData visualisation in python tool - a brief
Data visualisation in python tool - a brief
ameermalik11
 
Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShift
Amazon Web Services
 
Remote Project Manager's Arsenal
Remote Project Manager's ArsenalRemote Project Manager's Arsenal
Remote Project Manager's Arsenal
Patti Chan
 
JupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationJupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science Collaboration
Carol Willing
 
Open Textbooks Authoring Models and Tools
Open Textbooks Authoring Models and ToolsOpen Textbooks Authoring Models and Tools
Open Textbooks Authoring Models and Tools
Scott Leslie
 
Introduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache WayIntroduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache Way
Srinath Perera
 
Singularity Registry HPC
Singularity Registry HPCSingularity Registry HPC
Singularity Registry HPC
Vanessa S
 
Computable Content: Lessons Learned
Computable Content: Lessons LearnedComputable Content: Lessons Learned
Computable Content: Lessons Learned
Paco Nathan
 
Humanities Crowdsourcing on the Zooniverse Platform
Humanities Crowdsourcing on the Zooniverse PlatformHumanities Crowdsourcing on the Zooniverse Platform
Humanities Crowdsourcing on the Zooniverse Platform
UCLDH
 
Building a Makerspace: Where to Start
Building a Makerspace: Where to StartBuilding a Makerspace: Where to Start
Building a Makerspace: Where to Start
Bohyun Kim
 

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

JupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" OverviewJupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" Overview
 
Jupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and EducationJupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and Education
 
'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa
 
Drupal and Elasticsearch - The "new school" search engine
Drupal and Elasticsearch - The "new school" search engineDrupal and Elasticsearch - The "new school" search engine
Drupal and Elasticsearch - The "new school" search engine
 
Building Your Next Great Product by Talking to Users Each Step of the Way
Building Your Next Great Product by Talking to Users Each Step of the WayBuilding Your Next Great Product by Talking to Users Each Step of the Way
Building Your Next Great Product by Talking to Users Each Step of the Way
 
Elasticsearch PHP UG BG
Elasticsearch PHP UG BGElasticsearch PHP UG BG
Elasticsearch PHP UG BG
 
Jupyter news August 2016
Jupyter news August 2016Jupyter news August 2016
Jupyter news August 2016
 
Learning Lean: Using Flash Builds to Learn from Your Users
Learning Lean: Using Flash Builds to Learn from Your UsersLearning Lean: Using Flash Builds to Learn from Your Users
Learning Lean: Using Flash Builds to Learn from Your Users
 
Open sourcery
Open sourceryOpen sourcery
Open sourcery
 
COAR Next Generation Repositories Working Group
COAR Next Generation Repositories Working GroupCOAR Next Generation Repositories Working Group
COAR Next Generation Repositories Working Group
 
Data visualisation in python tool - a brief
Data visualisation in python tool - a briefData visualisation in python tool - a brief
Data visualisation in python tool - a brief
 
Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShift
 
Remote Project Manager's Arsenal
Remote Project Manager's ArsenalRemote Project Manager's Arsenal
Remote Project Manager's Arsenal
 
JupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationJupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science Collaboration
 
Open Textbooks Authoring Models and Tools
Open Textbooks Authoring Models and ToolsOpen Textbooks Authoring Models and Tools
Open Textbooks Authoring Models and Tools
 
Introduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache WayIntroduction to Open Source, Apache and Apache Way
Introduction to Open Source, Apache and Apache Way
 
Singularity Registry HPC
Singularity Registry HPCSingularity Registry HPC
Singularity Registry HPC
 
Computable Content: Lessons Learned
Computable Content: Lessons LearnedComputable Content: Lessons Learned
Computable Content: Lessons Learned
 
Humanities Crowdsourcing on the Zooniverse Platform
Humanities Crowdsourcing on the Zooniverse PlatformHumanities Crowdsourcing on the Zooniverse Platform
Humanities Crowdsourcing on the Zooniverse Platform
 
Building a Makerspace: Where to Start
Building a Makerspace: Where to StartBuilding a Makerspace: Where to Start
Building a Makerspace: Where to Start
 

More from Carol Willing

Interactive Computing in Computer Science
Interactive Computing in Computer ScienceInteractive Computing in Computer Science
Interactive Computing in Computer Science
Carol Willing
 
Machine Learning and Jupyter
Machine Learning and JupyterMachine Learning and Jupyter
Machine Learning and Jupyter
Carol Willing
 
STEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHubSTEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHub
Carol Willing
 
Learning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and CommunityLearning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and Community
Carol Willing
 
Jupyter and Music
Jupyter and MusicJupyter and Music
Jupyter and Music
Carol Willing
 
JupyterHub + kubernetes
JupyterHub + kubernetesJupyterHub + kubernetes
JupyterHub + kubernetes
Carol Willing
 
JupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterConJupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterCon
Carol Willing
 
Python and Jupyter: Your Gateway for Learning
Python and Jupyter: Your Gateway for LearningPython and Jupyter: Your Gateway for Learning
Python and Jupyter: Your Gateway for Learning
Carol Willing
 
JupyterHub: Learning at Scale
JupyterHub: Learning at ScaleJupyterHub: Learning at Scale
JupyterHub: Learning at Scale
Carol Willing
 
Journey to Jupyter
Journey to JupyterJourney to Jupyter
Journey to Jupyter
Carol Willing
 
Data, decision making, and being human
Data, decision making, and being humanData, decision making, and being human
Data, decision making, and being human
Carol Willing
 
JupyterHub, User Groups, and You
JupyterHub, User Groups, and YouJupyterHub, User Groups, and You
JupyterHub, User Groups, and You
Carol Willing
 
Yes, you can git!
Yes, you can git!Yes, you can git!
Yes, you can git!
Carol Willing
 
Python - The People's Programming Language
Python - The People's Programming LanguagePython - The People's Programming Language
Python - The People's Programming Language
Carol Willing
 
Finding your groove
Finding your grooveFinding your groove
Finding your groove
Carol Willing
 
2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers
Carol Willing
 
2014 01 23_pyladies_san diego python user group
2014 01 23_pyladies_san diego python user group2014 01 23_pyladies_san diego python user group
2014 01 23_pyladies_san diego python user group
Carol Willing
 
2014 01 23_pycon_san diego python user group meeting
2014 01 23_pycon_san diego python user group meeting2014 01 23_pycon_san diego python user group meeting
2014 01 23_pycon_san diego python user group meeting
Carol Willing
 
PyCon Poster 2014 music21
PyCon Poster 2014 music21PyCon Poster 2014 music21
PyCon Poster 2014 music21
Carol Willing
 
PyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meetingPyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meeting
Carol Willing
 

More from Carol Willing (20)

Interactive Computing in Computer Science
Interactive Computing in Computer ScienceInteractive Computing in Computer Science
Interactive Computing in Computer Science
 
Machine Learning and Jupyter
Machine Learning and JupyterMachine Learning and Jupyter
Machine Learning and Jupyter
 
STEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHubSTEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHub
 
Learning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and CommunityLearning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and Community
 
Jupyter and Music
Jupyter and MusicJupyter and Music
Jupyter and Music
 
JupyterHub + kubernetes
JupyterHub + kubernetesJupyterHub + kubernetes
JupyterHub + kubernetes
 
JupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterConJupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterCon
 
Python and Jupyter: Your Gateway for Learning
Python and Jupyter: Your Gateway for LearningPython and Jupyter: Your Gateway for Learning
Python and Jupyter: Your Gateway for Learning
 
JupyterHub: Learning at Scale
JupyterHub: Learning at ScaleJupyterHub: Learning at Scale
JupyterHub: Learning at Scale
 
Journey to Jupyter
Journey to JupyterJourney to Jupyter
Journey to Jupyter
 
Data, decision making, and being human
Data, decision making, and being humanData, decision making, and being human
Data, decision making, and being human
 
JupyterHub, User Groups, and You
JupyterHub, User Groups, and YouJupyterHub, User Groups, and You
JupyterHub, User Groups, and You
 
Yes, you can git!
Yes, you can git!Yes, you can git!
Yes, you can git!
 
Python - The People's Programming Language
Python - The People's Programming LanguagePython - The People's Programming Language
Python - The People's Programming Language
 
Finding your groove
Finding your grooveFinding your groove
Finding your groove
 
2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers
 
2014 01 23_pyladies_san diego python user group
2014 01 23_pyladies_san diego python user group2014 01 23_pyladies_san diego python user group
2014 01 23_pyladies_san diego python user group
 
2014 01 23_pycon_san diego python user group meeting
2014 01 23_pycon_san diego python user group meeting2014 01 23_pycon_san diego python user group meeting
2014 01 23_pycon_san diego python user group meeting
 
PyCon Poster 2014 music21
PyCon Poster 2014 music21PyCon Poster 2014 music21
PyCon Poster 2014 music21
 
PyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meetingPyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meeting
 

Recently uploaded

DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
seospiralmantra
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
Envertis Software Solutions
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
Luigi Fugaro
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
Severalnines
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 

Recently uploaded (20)

DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 

JupyterHub - A "Thing Explainer" Overview

  • 1. A “THING EXPLAINER” OVERVIEW Twitter: @willingcarol GitHub: @willingc 1 Carol Willing Project Jupyter at Cal Poly SLO JupyterDay Atlanta August 13, 2016 http://bit.ly/jupyterhub-atl
  • 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-atl
  • 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