• JupyterHub 是为多个用户提供 Jupyter Notebook 的集成服务系统,JupyterHub 下用户环境彼此隔离,无法相互共享,每个用户需要单独配置自己的 Python/Conda 环境等。
  • JupyterHub 与 Jupyter Notebook/Lab 并非包直接含关系,JupyterHub 初始安装不包含 Jupyter Notebook/Lab,二者甚至不在一台服务器上,需要各自搭建后,通过配置组合在一起。
  • JupyterHub、Jupyter Notebook/Lab 分别有自己的仓库、文档、技术栈(如:除 Python、H5 外,JupyterHub 涉及 NodeJS,JupyterLab 涉及 TypeScript)。因此,JupyterHub 与 Jupyter Notebook/Lab 的接口、主题、插件等定制开发也是分别独立的项目范畴。
  • JupyterHub 支持第三方 Oath 认证登录,需要另外开发配置。常见的包括 GitHub、GitLab、Google 等(主要针对编程群体,因此不包括 Facebook、Twitter)。
  • JupyterHub 下又分为三项目:JupyterhubTLJHZ2JH ,每个项目都各自的文档系统、Git仓库、环境配置。每个项目的环境搭建方式大概又各可分为 3 种方式:Conda/Pip 安装、Docker 安装、Dev 环境安装。对应到开发,要根据具体需求确定一个方向,搭建配置指定的环境项目。

Jupyterhub、TLJH、Z2JH 的应用场景各有不同:

  • JupyterHub:原始系统 – 环境搭建配置方式灵活、可控性强,相应出错几率相对较大
  • TLJH(The Littlest JupyterHub):发行版本 – 把 JupyterHub 搭建在一台服务器上,支持 1 ~ 50 个用户(github 描述为 1 ~ 50,文档描述为 1 ~ 100 )
  • Z2JH(Zero to JupyterHub):发行版本 – 针对 100 以上用户量,安全稳定性要求高,计划应用 Docker 容器,需要搭建 Kubernetes 集群,对运维水平要求高

综上,将 Jupyter 系列产品关系总结如下图:

image


扫码手机观看或分享: