Deploy an interactive data science environment with JupyterHub on Docker Swarm
Deploy an interactive data science environment and share documents that contain live code by taking advantage of Docker and Docker Swarm to deploy Jupyter Notebook servers with JupyterHub.
Deploy an interactive data science environment and share documents that contain live code by taking advantage of Docker and Docker Swarm to deploy Jupyter Notebook servers with JupyterHub.
Docker allows you to package an application and its dependencies into an image that can run in containers on any Linux server. You can use Docker Swarm to run containers across a distributed cluster, which allows you to scale out your application as if it were running on a single, huge computer. To get up and running in minutes we'll be using Carina, a hosted Docker Swarm environment.
We'll deploy Jupyter Notebook servers with JupyterHub to put this distributed development stack into practice.
The Jupyter Notebook server is a web application that allows you to create and share documents that contain live code, equations, visualizations, and explanatory text. That makes it an excellent environment for teaching without requiring students to install anything. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning, and much more. JupyterHub is a multi-user server that manages and proxies multiple instances the Notebook server enabling centralized deployments in companies, university classrooms, and research labs.
- Setup (10 min)
- Docker basics (30 min)
- Docker Swarm fundamentals (20 min)
- Carina (30 min)
- BREAK (15 min)
- JupyterHub basics (30 min)
- JupyterHub on Carina (40 min)
- Wrap up (5 min)
Participants must be comfortable using the command line interface in their operating system. For example, Terminal in Mac OS X or Linux and Command Prompt/PowerShell in Windows.
A GitHub account. Sign up by going to github.com. This account is completely free. No credit card is necessary at any point.
A Carina account. Sign up by going to getcarina.com. This account is completely free. No credit card is necessary at any point. A mobile phone is necessary to receive an SMS confirmation code.
Anyone interested in providing a Jupyter/JupyterHub environment for users or those simply interested in learning more about deploying a Python application.
The workshop participants will learn will learn Docker basics and Docker Swarm fundamentals. To exercise these fundamentals the participants will deploy JupyterHub on Carina, a hosted Docker Swarm environment. Along the way they'll also gain a better understanding of Jupyter, an open source web application that allows you to create and share documents that contain live code, equations, visualizations, and explanatory text.
Novice
Intermediate