Login Sign up

OperationHub - Enhanced JupyterHub for DevOps Engineers

yoshi NOBU Masatani

Audience level:
Experienced

Brief Summary

OperationHub is a tailored JupyterHub for DevOps engineer. Instead of sshd on the management server, we set up OperationHub. It provides segregated Notebook containers for individual operator's traceability and Notebook shearing mechanism for team collaboration. Our reproducibility extensions enable robust semi-linear operations for DevOps workflows and collaborative annotations as well.

Outline

Background

Literate Computing for Reproducible Infrastructure (LC4RI) [^1] is our approach to pursue resilient, human-centered automated operations (機械化) that should not excessively rely on no-ops automation (自動化) utilizing Jupyter Notebook. OperationHub [^2] is a simple JupyterHub for LC4RI. It helps you provide a multi-user notebook environment on a single server for a small operation team.


What You Get - OperationHub Internals

Overview

This presentation outlines the feature of OperationHub and its typical use cases. [If it could be a talk of BOF, we can explain its architecture and how-to build.. never mind. This is just a poster]

OperationHub serves the following features:

To be portable and minimal, OperationHub chooses a different scheme from Zero to JupyterHub. It built on Docker with a customized spawner and few small services on OS. The customized spawner handles shared directories among Notebook containers [^3].

[^1] https://literate-computing.github.io/
[^2] https://github.com/NII-cloud-operation/OperationHub
[^3] https://github.com/NII-cloud-operation/OperationHub/blob/master/docs/internals.png

Typical Use Cases of OperationHub :

Enhanced System Auditing: Traceability is essential in operational engineering practices. However, when you use sshd on the management server and throw a command via Ansible to remote servers, it is difficult to distinguish originating operators at the remote end, because Ansible uses standard uid (ex. root, ansible, etc.) onto remote servers. In the typical deployment of OperationHub, we place different public keys for each operator's container; thus, the originating operators are traceable at the remote end.

Serving NII's Notebook server bundled with a set of tools for LC4RI: Originally, Notebook is designed as non-linear explorative computing tools, typically for data scientists. Thus, we have developed a toolset for DevOps engineers. OperationHub delivers those features such as:

You can examine those features on the Binder as follows:

Our practices with OperationHub cover the entire infrastructure lifecycle, from initial design and deployment to daily operations and maintenance, rebuilding for new target capacity and throughput, troubleshooting, and customer support.