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. Min has been contributing to IPython and Jupyter since 2006 (full-time since 2013). His areas of focus include the underlying infrastructure of Jupyter and deployment tools and services, such as JupyterHub and nbviewer.
Carol Willing is a director of the Python Software Foundation, a Jupyter Steering Council member, and a geek in residence at FabLab San Diego, where she teaches wearable electronics and software development. She co-organizes PyLadies San Diego and San Diego Python, contributes to open source community projects, including OpenHatch, 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 nonprofit organizations. 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. • email@example.com