クラウドインフラ運用

Jupyter Notebookによるクラウドインフラ運用の実践- 運用チームの育成・仮想空間出勤 国立情報学研究所 先端ICTセンター／クラウド基盤研究開発センター

どんな研究？

何がわかる？

我 々 は マ シ ン を 研 究 者 向 け に 提 供 す る Academic
Baremetal Cloudを構築し運用しています。
クラウドのインフラ運用には様々なノウハウを必要とします。これらのノウハウを、作業手順、作業記録として詳細に記録し、運用チーム内で共有することで、 運用チーム内の積極的なノウハウ共有を促進する方法を研究しています。

運用者間の作業ノウハウの移転・共有を促進する運用基盤OperationHubを開発しています。
• 共有しやすい作業証跡の記録: 機械的に再現可能な作
業内容と作業を説明する文章を併記した形式を採用• 証跡の検索・証跡を通したコミュニケーション機能
この作業基盤により、リモートでもリアル出勤以上のパフォーマンスを出す仮想空間出勤を実践しています。

背景・目的
クラウド運用におけるノウハウ共有の課題
ベンダーが構築した環境を運用者が引き継ぎ、運用… 構築・運用ベンダーそれぞれのノウハウのギャップ••

トラブルシュート: どのように構築をした？どんな目的の作業だった？
再実行: 同じ/似た作業を繰り返したい・他の人にやって欲しい
手順・ノウハウの共有・移転・再利用

運用

Jupyter Notebookによる運用者の作業の高度化
構築場面・運用場面においてJupyter Notebookとして手順、作業内容や経緯をまとめて保管するための拡張機能・利用手法を開発→ LC4RI: Literate Computing for Reproducible Infrastructure
として実践

構築

運用者

構築者

見習い

構築方法の共有／運用者が再構築可能

運用作業の証跡を残したい
手順を再利用したい

手順を読んで理解した上で作業

研究内容
Literate Computing のインフラ運用への適用

Sidestickiesによる作業手順に関するノウハウ共有

Jupyter Notebook + 独自拡張機能 + Ansible を組み
合 わ せ た 運 用 ス タ イ ル LC4RI の 実 践 環 境 と し て 、OperationHubを開発・運用しています。

ノートブックやセルに対してコメントを付与することができ、再利用時には引き継がれるます。再利用元・再利用先で同一のコメントを参照しながらの連携作業が可能です。

• 独自Jupyter Notebook拡張により…
効率的で誤謬のない実行環境を実現、作業証跡も管理• Ansibleにより…
複数マシン・環境への操作内容を標準化/機械化

検索機能による作業手順共有

仮想1906室への出勤風景

日々蓄積される作業証跡を検索可能にすることで、常に最新のノウハウを共有した状態で作業に臨めます。

緩い臨場感で互いを感じる。
声を掛ければ会話が始まる。
気楽に雑談も..
協調作業は LC4RI を活用。

“note pages in Scrapbox”“sidestickies”“a note page”

WebRTCによるリアルタイ
ムコミュニケーション
同じOperationHub環境を参照しているユーザー同士で音声によるノートブックを共有しながらのコミュニケーションができます。

キーワード・属性によるノートブック検索

LC4RIお試し環境
インフラ運用のためのNotebook拡張機能を体験！
ブラウザを使って、Jupyter NotebookとNII独自拡張を時間限定で体験できます。
READMEの注意事項をよくお読みの上お試しください。
選択したセルの各種属性によるセル検索

国立情報学研究所 先端ICTセンター／クラウド基盤研究開発センター
Email：nii-cloud-operation@meatmail.jp

https://mybinder.org/v2/gh/NII-cloud-operation/
Jupyter-LC_docker/openhouse-demo?urlpath=tree

各種ツールは広く使えるようOSS化
インフラ運用のためのJupyter Notebook拡張機能
実行結果保存機能

まとめ実行機能
Analyze Server Logs

複数セルからなる手順を畳み込むと、配下のステップはブロック形に可視化される

Getting Logs from Targets

jupyter

Analyze Logs

複数のステップをまとめて実行できる

過去の実行結果をお手本に残し現在の実行結果との比較が可能

Visualize Results

実行結果はセル単位でファイルに保存

重複実行を防止するため実行済みセルは凍結

ノートブック間変更追跡機能
Collect reusable materials
as a baseline

応用例: 実行可能なチェックリスト

CentOS 6 ⇒ 7

Import stacks

流用・変更状況の追跡機能

Another concurrent
development

照応するMEMEを追跡
同一IDセルごとに内容を比較

Deploy a seedSide work for production

セルに記録されるID(MEME)によりノートブックの系譜を検索・可視化
Production

変更

変更

変更

https://literate-computing.github.io/

追加

CoursewareHub: Jupyter Notebookによる講義・演習環境
LMSまたは学認を利用して認証する
LMSのコースに外部ツールとして登録するか、学認クラウドゲートウェイサービスのグループに参加することで利用可能に

CoursewareHub
Notebook教材による演習環境の開発• JupyterHubをベースに、演習のワークフローに必要な機能を拡張• コースごとにJupyter環境を用意• 講師のセルフアドミニスト
レーション• 受講者の演習中の実行履歴の記録

Web ブラウザ経由で手軽に受講受講生 A

受講生 B

各々の受講者用 Ju p yter 環境

LMS

または演習結果

講師

•••

教材

ア プ リ ケーシ ョ ン

ア プ リ ケーシ ョ ン

https://coursewarehub.github.io/

ア プ リ ケーシ ョ ン

Jupyter Notebook で教材作成
教材で利用するアプリケーション等も自由にインストール
演習の進捗状況を確認
回答の回収
実行履歴の収集

教材

CoursewareHub

技術補佐員

教材作成用 Ju p yter 環境
ア プ リ ケーシ ョ ン

講師 A

JupyterHub(OSS)をベースとして、NIIが教材共有・アプリケーション配信・認証連携部分を拡張

CoursewareHub

国立情報学研究所 先端ICTセンター／クラウド基盤研究開発センター
Email：nii-cloud-operation@meatmail.jp

受講者のセル実行履歴の収集•セルの内容（コード）•
いつ実行したか•実行結果（アウトプット・成功・失敗）•繰り返し実行の履歴（試行錯誤の過程）
受講者がセルを実行したタイミング、実行回数、成功・失敗の履歴を分析