A comparison of some of the features of the three services:
Workbench
- Software that can be installed on a VM or cluster, typically run on NCSA Nebula, SDSC Cloud, Jetstream OpenStack NDS allocations.
- Always uses Kubernetes (either in single-node or cluster installation) for scalability
- Can run a wide variety of Docker-based applications, including multi-component services with dependencies
- May also run Jupyter/RStudio and other similar interactive environments
- Distributed storage can be mounted into user environments
- Local authentication or Oauth supported
- Has built-in account registration/approval workflow
- Customizable resources constraints (per-container memory/CPU and per-user storage)
JupyterHub/BinderHub
- Software that can be installed on a VM or cluster
- Zero-to-JupterHub provides scalable solution using Kubernetes, typically run on AWS/GCE, but can be run on OpenStack
- Primarily for Jupyter environments, but can also support RStudio
- Distributed storage can be mounted into user environments
- Customizable authentication
- Customizable resources constraints (per-container memory/CPU and per-user storage)
MyBinder
- Public BinderHub (JupterHub + repo2Docker)
- Given a Github repo with Juypter notebooks or R scripts, builds and runs a Docker image on behalf of the user
- Free, publicly available service hosted on AWS
- Resource limits maximum 2GB RAM, 10 minute inactivity timeout, 12 hour session
- Supports Jupyter, RStudio environments
- Can be used for demos and workshops with no service guarantee