The JupyterHub application can be used to create a centralized web based environment into which users can log in and get access to their own instance of a Jupyter notebook without requiring them to install any software on their own local computer. This ensures that all users have access to the same environment, and their instance can also be prepopulated with any notebooks or data files.
Running a Jupyter Notebook, or even a JupyterHub instance, on a single computer is easy enough, but when you have hundreds of users a single machine is not going to be sufficient to handle everything. JupyterHub provides a pluggable system for spawning Jupyter notebooks and plugins exist for distributing Jupyter notebook instances across multiple machines, but setting up and maintaining the dedicated infrastructure for these can be complicated.
Graham Dumpleton demonstrates how to use OpenShift, an enterprise distribution of Kubernetes and general purpose environment designed for deploying web applications at scale across a cluster of machines, and JupyterHub to run a highly scalable environment for hosting Jupyter notebooks in education and business. Along the way, Graham offers an overview of Kubernetes and OpenShift and discusses the advantages of using them over attempting to build out a system yourself from scratch.
Graham Dumpleton is a developer advocate for OpenShift at Red Hat. Graham is the author of mod_wsgi, a popular module for hosting Python web applications with the Apache HTTPD web server. He has a keen interest in Docker and platform-as-a-service (PaaS) technologies. Graham is a fellow of the Python Software Foundation and an emeritus member of the Apache Software Foundation.
©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