SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Spark Autotuning Talk - Strata New York
Spark Autotuning Talk - Strata New YorkSpark Autotuning Talk - Strata New York
Spark Autotuning Talk - Strata New YorkHolden Karau
 
Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)James Serra
 
When Apache Spark Meets TiDB with Xiaoyu Ma
When Apache Spark Meets TiDB with Xiaoyu MaWhen Apache Spark Meets TiDB with Xiaoyu Ma
When Apache Spark Meets TiDB with Xiaoyu MaDatabricks
 
Increasing Kafka Connect Throughput with Catalin Pop with Catalin Pop | Kafka...
Increasing Kafka Connect Throughput with Catalin Pop with Catalin Pop | Kafka...Increasing Kafka Connect Throughput with Catalin Pop with Catalin Pop | Kafka...
Increasing Kafka Connect Throughput with Catalin Pop with Catalin Pop | Kafka...HostedbyConfluent
 
3D: DBT using Databricks and Delta
3D: DBT using Databricks and Delta3D: DBT using Databricks and Delta
3D: DBT using Databricks and DeltaDatabricks
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseJames Serra
 
HCL Notes and Nomad Troubleshooting for Dummies
HCL Notes and Nomad Troubleshooting for DummiesHCL Notes and Nomad Troubleshooting for Dummies
HCL Notes and Nomad Troubleshooting for Dummiespanagenda
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureDatabricks
 
Master the Multi-Clustered Data Warehouse - Snowflake
Master the Multi-Clustered Data Warehouse - SnowflakeMaster the Multi-Clustered Data Warehouse - Snowflake
Master the Multi-Clustered Data Warehouse - SnowflakeMatillion
 
Fuzzy Matching on Apache Spark with Jennifer Shin
Fuzzy Matching on Apache Spark with Jennifer ShinFuzzy Matching on Apache Spark with Jennifer Shin
Fuzzy Matching on Apache Spark with Jennifer ShinDatabricks
 
Azure SQL Database Managed Instance
Azure SQL Database Managed InstanceAzure SQL Database Managed Instance
Azure SQL Database Managed InstanceJames Serra
 
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data PipelinesPutting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data PipelinesDATAVERSITY
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetJeno Yamma
 
MapReduce Example | MapReduce Programming | Hadoop MapReduce Tutorial | Edureka
MapReduce Example | MapReduce Programming | Hadoop MapReduce Tutorial | Edureka MapReduce Example | MapReduce Programming | Hadoop MapReduce Tutorial | Edureka
MapReduce Example | MapReduce Programming | Hadoop MapReduce Tutorial | Edureka Edureka!
 
Scaling and Modernizing Data Platform with Databricks
Scaling and Modernizing Data Platform with DatabricksScaling and Modernizing Data Platform with Databricks
Scaling and Modernizing Data Platform with DatabricksDatabricks
 
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-Baltagi
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-BaltagiModern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-Baltagi
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-BaltagiSlim Baltagi
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...Databricks
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Olivier DASINI
 
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...Edureka!
 

Mais procurados (20)

Spark Autotuning Talk - Strata New York
Spark Autotuning Talk - Strata New YorkSpark Autotuning Talk - Strata New York
Spark Autotuning Talk - Strata New York
 
Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)
 
When Apache Spark Meets TiDB with Xiaoyu Ma
When Apache Spark Meets TiDB with Xiaoyu MaWhen Apache Spark Meets TiDB with Xiaoyu Ma
When Apache Spark Meets TiDB with Xiaoyu Ma
 
Increasing Kafka Connect Throughput with Catalin Pop with Catalin Pop | Kafka...
Increasing Kafka Connect Throughput with Catalin Pop with Catalin Pop | Kafka...Increasing Kafka Connect Throughput with Catalin Pop with Catalin Pop | Kafka...
Increasing Kafka Connect Throughput with Catalin Pop with Catalin Pop | Kafka...
 
3D: DBT using Databricks and Delta
3D: DBT using Databricks and Delta3D: DBT using Databricks and Delta
3D: DBT using Databricks and Delta
 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data Warehouse
 
HCL Notes and Nomad Troubleshooting for Dummies
HCL Notes and Nomad Troubleshooting for DummiesHCL Notes and Nomad Troubleshooting for Dummies
HCL Notes and Nomad Troubleshooting for Dummies
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh Architecture
 
Master the Multi-Clustered Data Warehouse - Snowflake
Master the Multi-Clustered Data Warehouse - SnowflakeMaster the Multi-Clustered Data Warehouse - Snowflake
Master the Multi-Clustered Data Warehouse - Snowflake
 
Fuzzy Matching on Apache Spark with Jennifer Shin
Fuzzy Matching on Apache Spark with Jennifer ShinFuzzy Matching on Apache Spark with Jennifer Shin
Fuzzy Matching on Apache Spark with Jennifer Shin
 
From Data Warehouse to Lakehouse
From Data Warehouse to LakehouseFrom Data Warehouse to Lakehouse
From Data Warehouse to Lakehouse
 
Azure SQL Database Managed Instance
Azure SQL Database Managed InstanceAzure SQL Database Managed Instance
Azure SQL Database Managed Instance
 
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data PipelinesPutting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat Sheet
 
MapReduce Example | MapReduce Programming | Hadoop MapReduce Tutorial | Edureka
MapReduce Example | MapReduce Programming | Hadoop MapReduce Tutorial | Edureka MapReduce Example | MapReduce Programming | Hadoop MapReduce Tutorial | Edureka
MapReduce Example | MapReduce Programming | Hadoop MapReduce Tutorial | Edureka
 
Scaling and Modernizing Data Platform with Databricks
Scaling and Modernizing Data Platform with DatabricksScaling and Modernizing Data Platform with Databricks
Scaling and Modernizing Data Platform with Databricks
 
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-Baltagi
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-BaltagiModern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-Baltagi
Modern-Data-Warehouses-In-The-Cloud-Use-Cases-Slim-Baltagi
 
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0
 
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
PySpark Programming | PySpark Concepts with Hands-On | PySpark Training | Edu...
 

Destaque

Infrastructure for the work of Data Scientists
Infrastructure for the work of Data ScientistsInfrastructure for the work of Data Scientists
Infrastructure for the work of Data ScientistsFlyElephant
 
Python - The People's Programming Language
Python - The People's Programming LanguagePython - The People's Programming Language
Python - The People's Programming LanguageCarol Willing
 
Chimera States in Networks of Coupled Oscillators
Chimera States in Networks of Coupled OscillatorsChimera States in Networks of Coupled Oscillators
Chimera States in Networks of Coupled OscillatorsSSA KPI
 
Data, decision making, and being human
Data, decision making, and being humanData, decision making, and being human
Data, decision making, and being humanCarol Willing
 
A Raspberry Pi Hexy - Python Conference PH 2016
A Raspberry Pi Hexy -  Python Conference PH 2016A Raspberry Pi Hexy -  Python Conference PH 2016
A Raspberry Pi Hexy - Python Conference PH 2016Mithi Sevilla
 
PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...
PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...
PLOTCON NYC: The Architecture of Jupyter: Protocols for Interactive Data Expl...Plotly
 
Webinar: Deep Learning with H2O
Webinar: Deep Learning with H2OWebinar: Deep Learning with H2O
Webinar: Deep Learning with H2OSri Ambati
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Claradev2ops
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformationdev2ops
 

Destaque (10)

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

Semelhante a JupyterHub - A "Thing Explainer" Overview

JupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" OverviewJupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" OverviewCarol 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 EducationCarol Willing
 
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 & OpenShiftAmazon Web Services
 
Computable Content: Lessons Learned
Computable Content: Lessons LearnedComputable Content: Lessons Learned
Computable Content: Lessons LearnedPaco Nathan
 
Computable Content
Computable ContentComputable Content
Computable ContentPaco Nathan
 
'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 versaNathan Shammah
 
Singularity Registry HPC
Singularity Registry HPCSingularity Registry HPC
Singularity Registry HPCVanessa S
 
Jupyter news August 2016
Jupyter news August 2016Jupyter news August 2016
Jupyter news August 2016Robert Clewley
 
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 briefameermalik11
 
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformaticsStephen Turner
 
JupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationJupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationCarol Willing
 
Drupal contribution
Drupal contribution Drupal contribution
Drupal contribution Rakesh James
 
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 engineNikolay Ignatov
 
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...Chris Mattmann
 
Open experiments and open-source
Open experiments and open-sourceOpen experiments and open-source
Open experiments and open-sourcepeircej
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Computable content: Notebooks, containers, and data-centric organizational le...
Computable content: Notebooks, containers, and data-centric organizational le...Computable content: Notebooks, containers, and data-centric organizational le...
Computable content: Notebooks, containers, and data-centric organizational le...Domino Data Lab
 
Getting a Neural Network Up and Running with OpenLab
Getting a Neural Network Up and Running with OpenLabGetting a Neural Network Up and Running with OpenLab
Getting a Neural Network Up and Running with OpenLabMelvin Hillsman
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the OpenAnne Gentle
 

Semelhante a 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
 
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
 
Computable Content: Lessons Learned
Computable Content: Lessons LearnedComputable Content: Lessons Learned
Computable Content: Lessons Learned
 
Computable Content
Computable ContentComputable Content
Computable Content
 
'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
 
Singularity Registry HPC
Singularity Registry HPCSingularity Registry HPC
Singularity Registry HPC
 
Jupyter news August 2016
Jupyter news August 2016Jupyter news August 2016
Jupyter news August 2016
 
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
 
Open sourcery
Open sourceryOpen sourcery
Open sourcery
 
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
2018 ABRF Tools for improving rigor and reproducibility in bioinformatics
 
JupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationJupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science Collaboration
 
Drupal contribution
Drupal contribution Drupal contribution
Drupal contribution
 
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
 
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...
Lessons Learned in the Development of a Web-scale Search Engine: Nutch2 and b...
 
Open experiments and open-source
Open experiments and open-sourceOpen experiments and open-source
Open experiments and open-source
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Computable content: Notebooks, containers, and data-centric organizational le...
Computable content: Notebooks, containers, and data-centric organizational le...Computable content: Notebooks, containers, and data-centric organizational le...
Computable content: Notebooks, containers, and data-centric organizational le...
 
Getting a Neural Network Up and Running with OpenLab
Getting a Neural Network Up and Running with OpenLabGetting a Neural Network Up and Running with OpenLab
Getting a Neural Network Up and Running with OpenLab
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the Open
 

Mais de Carol Willing

Interactive Computing in Computer Science
Interactive Computing in Computer ScienceInteractive Computing in Computer Science
Interactive Computing in Computer ScienceCarol Willing
 
Machine Learning and Jupyter
Machine Learning and JupyterMachine Learning and Jupyter
Machine Learning and JupyterCarol Willing
 
STEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHubSTEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHubCarol 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 CommunityCarol Willing
 
JupyterHub + kubernetes
JupyterHub + kubernetesJupyterHub + kubernetes
JupyterHub + kubernetesCarol Willing
 
JupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterConJupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterConCarol 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 LearningCarol Willing
 
JupyterHub, User Groups, and You
JupyterHub, User Groups, and YouJupyterHub, User Groups, and You
JupyterHub, User Groups, and YouCarol Willing
 
2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakersCarol 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 groupCarol 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 meetingCarol Willing
 
PyCon Poster 2014 music21
PyCon Poster 2014 music21PyCon Poster 2014 music21
PyCon Poster 2014 music21Carol Willing
 
PyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meetingPyLadies San Diego 2014 February meeting
PyLadies San Diego 2014 February meetingCarol Willing
 

Mais de Carol Willing (16)

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, 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!
 
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
 

Último

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Último (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

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