JupyterHub, a multiuser server for Jupyter notebooks, enables you to offer a notebook server to everyone in a group—which is particularly useful when teaching a course, as students no longer need to install software on their laptops. Min Ragan-Kelley, Carol Willing, Yuvi Panda, and Ryan Lovett get you started deploying and customizing JupyterHub for your needs.
Min, Carol, Yuvi, and Ryan explore JupyterHub’s architecture and how to assemble a deployment exactly the way you want it. They then walk you through a complete deployment of JupyterHub with Kubernetes following best practices learned from the campus-wide deployment at UC Berkeley, including integration with campus authentication (via Google OAuth), status monitoring and data collection with statsd, and automating as much of the deployment and maintenance process as possible. Along the way, Min, Carol, Yuvi, and Ryan demonstrate how development, testing, and production systems can be easily managed to increase reliability and scaling of the deployment and how to customize your components (authenticators, spawners) and provide examples of services that can be managed by or interact with the hub and its users. You’ll then create a simple, functioning JupyterHub deployment of your own.
Putting together a deployment of JupyterHub with Kubernetes
Appendix: More customization
Min Ragan-Kelley is a postdoctoral fellow at Simula Research Lab in Oslo, Norway, where he focuses on developing JupyterHub, Binder, and related technologies and supporting deployments of Jupyter in science and education around the world. Min has been contributing to IPython and Jupyter since 2006 (full-time since 2013).
Carol Willing is a research software engineer at Cal Poly San Luis Obispo working full-time on Project Jupyter, a Python Software Foundation fellow and former director, a Jupyter Steering Council member, a geek in residence at FabLab San Diego, where she teaches wearable electronics and software development, and an independent developer of open hardware and software. She co-organizes PyLadies San Diego and San Diego Python, contributes to open source community projects, including OpenHatch, CPython, Jupyter, and AnitaB.org’s open source projects, and is an active member of the MIT Enterprise Forum in San Diego. She enjoys sharing her passion for electronics, software, problem solving, and the arts. Previously, Carol worked in software engineering management, product and project management, sales, and the nonprofit sector. She holds an MS in management with an emphasis on applied economics and high-tech marketing from MIT and a BSE in electrical engineering from Duke University.
Yuvi Panda is infrastructure lead for the Data Science Education Program at UC Berkeley, where he works on scaling JupyterHub for use by thousands of students. A programmer and DevOps engineer, he wants to make it easy for people who don’t traditionally consider themselves programmers to do things with code and builds tools (Quarry, PAWS, etc.) to sidestep the list of historical accidents that constitute the “command-line tax” that people have to pay before doing productive things with computing. He’s a core member of the JupyterHub team and works on mybinder.org as well. Yuvi is also a Wikimedian, since you can check out of Wikimedia, but you can never leave.
Ryan Lovett manages research and instructional computing for the Department of Statistics at UC Berkeley and is a member of the Data Science Education Program’s infrastructure team. He is most often a sysadmin, though he also enjoys programming and consulting with faculty and students.
Comments on this page are now closed.
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org