10
Y Masatani, National Institute of Informatics 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing てやってみる toward Literate Computing for Reproducible Infrastructure Y Masatani NII

HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

  • Upload
    no-bu

  • View
    471

  • Download
    7

Embed Size (px)

Citation preview

Page 1: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing てやってみる

toward Literate Computing for Reproducible Infrastructure

Y Masatani NII

Page 2: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

http://try.jupyter.org 1

Page 3: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

現実の問題として..

日々の運用作業の証跡を記録

そこから手順を整理して再利用する

マニュアルや教材を整備する

これら複数局面での計算機利用を、同じような粒度、

シームレスな方法で記述・蓄積したい

複数局面,, 対象が異なっても

2

Page 4: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

Automation ではなく.. Communication “as Code”(コード化)= Coding Style を適用する •  作業手順が Code になる / 作業手順の正当性がプログラムコードのように検証可能 / 実行結果も機械的に検証可能

•  記述言語の能力 / 記述に基づく機械化・自動化ツールの利便性

現場的には Communication が大切… •  スキルセットが異なる当事者間においても.. 個々の作業の再現性を担保したい..

•  インフラの状態やそこに至るまでの経緯を理解し易くする..

•  その上で作業をカスタマイズ・再利用すると言ったプロセス自体も(Code として)見える化

•  伝達可能にすること,蓄積・発展させること

“Literate Computing for Reproducible Infrastructure” – Open Communication about Design and Process through Notebook

3

Automation ?

Page 5: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

記述・ドキュメントの..「形」は何にしたがう..

ソフトウェアのアーキテクチャ

収容構成

運用の体制

当事者たる人間の関係性

蓄積と発展

4

機能に従う

失敗に従う

Social な “Literacy”

Page 6: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

経緯 - retrospective & prospective narratives インフラ運用において伝達・共有したいこと…

過去に起こった経緯(いきさつ)これから起こるであろう経緯(なりゆき)

トレーサビリティの把握

ü  “Who” (誰が) - “When did” (いつ) - “in What operation” (何をどうして) with “intention; Why” (どういうつもりが), then “Consequences happened” (どうなった)

ü  作業対象としてのインフラが,現在どうなっているか理解したい

複数作業間の依存関係,文脈の把握

ü  When(どういう時に)Why(なんのために)What Operation(何をどうして)Consequence(どうなって欲しいのか)

ü  やり直しの効く範囲はどこまでか,戻せるのか

ü  (状況が変わったら,失敗したら)どこまで戻ればよいのか

ü  回復できないポイントとその回避可能性

ü  依存関係が恒常的なのか一時的なのか

ü  事前,事後の依存する作業

ü  分離できる条件と範囲, 作業の構造を見通したい

5

Page 7: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

Individual 個々人による探索・試行錯誤

Collaborative 複数人でアイデアを共有・レビューして発展

Production 複数のグループによる展開,実用化

Publication & Communication

Education

Lifecycle of a Scientific Idea ≒ Engineering Practices 6

Page 8: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

Who would / could document?

かつて Literate Programming というのがあった..

インフラの面倒を見る人の間で..

ドキュメンテーション「大変」であることを

Notebook を媒介に..

コミュニケートできる..ということ!

7

ドキュメンテーションやら 運用の見える化やら

気持ちは近しい..

Page 9: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics

Literate Computing for Reproducible Infrastructure 8

Bare Metal Cloud

< Live Codes >

< Outputs >

refactor operations

run notebooks as live codes write reproducible

operations as notebooks

keep outputs for tractability and reproducibility

communicate via notebookcommunicate via notebook

share and elaborate narrative stories

share and elaborate narrative stories

self administration reproducible workflows

accelerated experiments

Ansible Playbook & Jupyter Notebook

Reference Patterns

Expert Engineer Apprentice Engineer Expert User Participant User

Page 10: HCJ2016 LT - 運用作業の証跡も,再利用する手順の記述も,教材作成も Literate Computing でやってみる

Y Masatani, National Institute of Informatics