SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
Y Masatani, National Institute of Informatics
NIIでの計算機環境の運用及び、Literate Computing
for Reproducible Infrastructure (LC4RI) について
Y Masatani
NII
What is LC4RI - ( http: //literate-computing.github.io )
It is as important to share and communicate about infrastructure design and elaborated workflows with participants as to actually automate complex operations. Literate
Computing for Reproducible Infrastructure is an approach both to describe automated operations as live code and to share predicted and reproducible outcomes among
technical and non-technical alike in the form of narrative stories. We utilize Jupyter Notebook for sharing reproducible experience. The operational engineering and DevOps
should be one of distinctive application areas for Jupyter.
第2回 HPC OPS研究会 日時:2018年7月2日 主催: 理化学研究所. 協賛: 日本マイクロソフト https://bit.riken.jp/2018/06/2nd-hpc-ops-mtg/
Y Masatani, National Institute of Informatics
Agenda
• NIIの計算機環境
• LC4RI 取り組みの動機 ∼ 現場における課題感
• 実践のための Jupyter Notebook 機能拡張
• 今後の思惑
Y Masatani, National Institute of Informatics
NII研究クラウド
Academic
Baremetal
Cloud
利用
研究室セグメント
教員の
研究室セグメント
直結
Jupyterで
研究用クラスタ
構築支援
所内研究者
研究用プログラム
物理マシンプール
iSCSI volumes
研究者
Jupyterで
自動構築
運用管理
研究環境
構築者
運用手順
ノウハウの
共有・再利用
クラウド
構築・運用者
ベアメタルを
そのまま貸出
構築手順
Y Masatani, National Institute of Informatics
Symmetric Physical Infrastructure
運用管理サーバ (正・副)
- OpenFlow Controller
- プロビ
- レポジトリ
- OperationHub
R630 2式
1GbE x8
・・・・・・
ストレージ装置
PS6210X 20式
10GbE x4
ベアメタルサーバ
R630 30式
10GbE x4
・・・・・
ストレージセグメントスイッチ
S6000 2式
10/40GbE x32
管理セグメントスイッチ
P-3930 2式
10G-T x48,40GbE QSFP x4
サービスセグメントスイッチ
S4820T 2式
10G-T x48,40GbE QSFP x4
サービス系 L2 NW
- 研究セグメントに L2 接続 (研究者が管理するネットワーク)
- SINET L2VPN にも接続化
運用管理系の NW は OpenFlow を用いた 非対称な アクセス制御
4種のセグメント(サブネット)に分割
1. Management, IPMI
2. OpenStack Provisioning
3. OpenFlow S/W 制御
4. Storage 制御
3と4は同一セグメント(相互疎通不可の flow 制御)
Y Masatani, National Institute of Informatics
Symmetric Physical Infrastructure
• 機械化を追求できる物理レイヤ設計 トポロジが対称で、相似なノードを切り出せる構成
• 管理・制御用ネットワーク上のアクセス制御は Open Flow を活用(できるのはこんな場合ぐらいか..
テナント隔離を port-to-port のフロー制御で実現、IP/MAC Spoofing 攻撃等不可
管理サーバから見ると異なるテナント所属するサーバ群に均一にアクセス可だが、テナント間では不可
同一サブネット内に非対称なアクセス制御を実装できるので.. 運用・管理設計を簡素化できる
• ユーザネットワーク VLANで分離、SINET L2VPNと直結可能・高スループット
• NWストレージ SCSIで帯域を活用、内蔵ディスクと同等以上のスループット
Y Masatani, National Institute of Informatics
Open Flow based access control on Management Network
Serv 1 Serv 2 Serv 4
Management
Network
on a subnet
Serv 3
Bare-Metal
Servers
Cntrol Serv 1 Control Serv 2
Client Server 相互 は flow
制御により疎通しない
Control Server からはすべての
client Server に疎通する
• 管理サーバから Bare-Metalとして払い出したサーバへ疎通することはできるが、
払い出されたサーバ間の接続は不可(flow 制御によりパケットが届かない、詐称攻撃不可)
• 個別に許可することは可能
Y Masatani, National Institute of Informatics
Tired Provisioning
運用管理ノードを起点としたクラスタの構築
運用管理ノードは、管理用のJupyterサーバ機能、OpenStack、k8s などの構築資材レポジトリ機能、
管理ネットワークの制御用サーバ機能を保持
例: OpenStack クラスタの構築
1. 任意のベアメタルノードから OpenStack の制御サーバを導入するマスタ用ノードを選択
2. OpenStack から貸し出すノード群を選択、制御情報を登録(ノードNICがどのNWセグメントに帰属しているか明示的に登録している)
3. 管理ネットワーク上に、制御に必要となるネットワークの疎通を生成
4. 運用管理ノードから Jupyter Notebook で マスタ用ノードをプロビジョニング
5. マスタ用ノードに展開された OpenStack 制御ノードから、Bare-Metal ノードをプロビジョニング
① ②
③
④
⑤
• 物理領域を分割して、開発用のクラスタをプロビ
ジョニングするなど
• クラスタ構築手順の再現、検証を実施することも..
, , etc
yoshi NOBU masatani, National Institute of Informatics
Jupyter Deployment @ NII
Expert Engineer
@Operation Team
Production
@Private Cloud
Playground @Public Cloud
Participant User
Apprentice Engineer
@Operation Team
JupyterHub
Expert User
Jupyter
@Management
Server
Managed by Operators
Self Admin by Users
Acquire Skills from
Experiences on Sandbox
KVM
…
Jupyter
@Hypervisor
Y Masatani, National Institute of Informatics
現実の問題として..
日々の運用作業の証跡を記録
そこから手順を整理して再利用する
マニュアルや教材を整備する
複数局面での計算機利用を、記述・蓄積したい
「適切に分節化したものを紡いで」
様相の異なる局面でも,, 対象が異なっても,,
属人化・サイロ化を回避する,,
Traceability
Reusability
Reproducibility
Automation beyond Silos
Y Masatani, National Institute of Informatics
実現したいこと
• 作業の信頼性向上
• 手順の再利用
• ポータブルな手順
– 環境に依存しない…
– 環境の変更に追従できる…
– Systems System への適応
Infrastructure でも Social Coding / Design Review のような…
集合知の形成 / 綺麗な建付を愛でる美意識を形成… できるように
à architecture (operation込) における rationality / cardinality of design を 対象化
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
Automation ?
Y Masatani, National Institute of Informatics
Individual 個々人による探索・試行錯誤
Collaborative 複数人でアイデアを共有・レビューして発展
Production 複数のグループによる展開,実用化
Publication & Communication
Education
Lifecycle of a Scientific Idea ≒ Engineering Practices
Y Masatani, National Institute of Informatics
“Literate Computing for Reproducible Infrastructure”
文芸的機械化 - 機械的に再現できる、人が読み解ける手順
自働化 機械化 人が介在しつつも機械的に再現できる Reproducibility
asCode は共通認識の形成に寄与してこそ! .. 現場でのコミュニケーションを促すもの
Open Communication about Design and Process through Notebook
計算機 = computation も 人間どうし も = communication 役割分担
ü 実際の実行結果が手順とともに,dataが live-code に埋め込まれていて再現できる
ü 手順や経緯 が具体的に,再現可能な形で表現・伝達
ü Technical と Non-Technical で 理解を共有
Y Masatani, National Institute of Informatics
Collaboration and Automated Operation
“Manual”
Operations
“Autonomous”
Operations
No Ops
“Automated”
Operations
DevOps
+ Programming “Leftover Principle”
“Complementarity Principle”
Automation within a Silo
and in Blackboxes
Literate Computing for
Reproducible Infrastructure
+ Computational
Narratives
• Collaboration among human sharing reproducible experiences including
both “what went wrong” and “what went right”
• Collaboration with Automation keeping potential to respond, monitor, learn
and anticipate
自働化
機械化
自動化
+ Human in the Loop
Y Masatani, National Institute of Informatics
Automation Should Be Like Iron Man, Not Ultron
“The automation we created abided by the complementarity
principle. It was a partnership between human and machine. It did
not limit our ability to learn and grow. The control over the system
was shared between the automation and the humans involved.
In other words, rather than creating a system that took over the
cluster and ran it, we created one that partnered with humans to
take care of most of the work. It did its job autonomously, but we did
not step on each other's toes.”
Thomas A. Limoncelli. 2015. Automation Should Be Like Iron Man, Not Ultron.
Queue 13, 8, pages 50 (September 2015), 10 pages.
Y Masatani, National Institute of Informatics
Our Tools as Parts of Ourselves
“Automation weakens the bond between tool and user not
because computer-controlled systems are complex but
because they ask so little of us. They hide their workings in
secret code. They resist any involvement of the operator
beyond the bare minimum. They discourage the development
of skillfulness in their use. Automation ends up having an
anesthetizing effect. We no longer feel our tools as parts of
ourselves. ”
InCarr, Nicholas. The Glass Cage: How Our Computers Are Changing Us
(p. 223). W. W. Norton & Company. Kindle Edition.
Y Masatani, National Institute of Informatics
Hardiman, General Electric in 1965
https://www.engadget.com/2014/01/26/ge-man-amplifying-robots/
Automation 自働化
≠
Automated Operation 機械化
“Our tools as parts of ourselves”
yoshi NOBU masatani, National Institute of Informatics
Enhancement for Robust and Reliable Operation
The goals for Literate Computing tools are:
• Secure outputs; summarize massive output lines on GUI and save all original
output lines into an individual file
• Prevent miss-operation; once a cell has been executed, it “freezes” against
unintended execution and modification.
• Add a perspective; when markdown’s hierarchy is collapsed embedded cells
underneath are represented as “bricks” and also run through altogether.
Jupyter Notebook server which bundles a
set of tools for Literate Computing for
Reproducible Infrastructure. This bundle
shows what we have enhanced Jupyter.
docker run -it --rm -p 8888:8888 niicloudoperation/notebook
Y Masatani, National Institute of Informatics
日常の作業記録・証跡 と それらの再利用のために…
セルの実行
コード化された作業内容
設計情報、運用状態、判断などを
文章で記述
以前の実行結果を
参照できる(お手本)
実行結果を
お手本と比較
ノートブックの複製を渡して作業依頼
スキルトランスファーとして機能
GUI操作などコード化しずらい操作は
文章として記述して手作業をする
作業にあたって作業日時を
接頭辞に付したノートブックを作成
ノートブックを介し作業を行う
作業後に残ったノートブックが
そのまま証跡となる
直近の類似の作業を行った
ノートブックを複製して、経験を再利用
内容を継続的に見直して、作業改善
Y Masatani, National Institute of Informatics
About NII Extensions
https://github.com/NII-cloud-operation
yoshi NOBU masatani, National Institute of Informatics
Secure Outputs – LC_wrapper kernel
• Summarize massive output lines
• At each cell’s execution all original
output lines are saved into an
individual file with a time stamp.
• You can review whole output and
compare with previous results from
different executions.
https://github.com/NII-cloud-operation/Jupyter-LC_wrapper
yoshi NOBU masatani, National Institute of Informatics
https: //github.com/NII-cloud-operation/Jupyter-LC_docker << Document
$ docker pull niicloudoperation/notebook
$ docker run -it --rm -p 8888:8888 niicloudoperation/notebook
demo
yoshi NOBU masatani, National Institute of Informatics
Enhanced Collapsible Headings
https://github.com/NII-cloud-operation/Jupyter-LC_run_through/
yoshi NOBU masatani, National Institute of Informatics
“Run through” Control
yoshi NOBU masatani, National Institute of Informatics
Notebook for Diagnostic & Validation
実行可能なチェックリストとして活用
yoshi NOBU masatani, National Institute of Informatics
Visualize Relationship and Dependency
https://github.com/NII-cloud-operation/Literate-computing-Elasticsearch/blob/master/99_Summarizing%20notebooks.ipynb
http://blockdiag.com/en/
yoshi NOBU masatani, National Institute of Informatics
Visualize Relationship and Dependency
Notebook の関係を宣言的に記述 http://blockdiag.com/en/を用いて関連図を生成
yoshi NOBU masatani, National Institute of Informatics
Visualize Relationship and Dependency
Notebook の目次を blockdiag に挿入
yoshi NOBU masatani, National Institute of Informatics
Exploring Best Way..
Y Masatani, National Institute of Informatics
Reproducible Experience
Reproducible Operation Procedure
Make “Prerequisite” reproducible too
What we call as “Bindings” to the real specific world.
• Moving targets, i.e. systems’ system
• Always involve human in a evolutional loop
Literate Computing
Skill 文芸 Art
How we maintain Notebooks
Reproducible Infrastructure
Share Knowledge
Share Reproducible
Experience
Jupyter Notebook ~ Reproducible Document
yoshi NOBU masatani, National Institute of Informatics
Share Reproducible Experiences
Transfer skill and knowledge through shared reproducible experiences
among engineers, users, tech and non-tech.
< Live Codes >
< Outputs >
Engineers
Expert Engineer
share
experiences
Apprentice Engineer
Expert User
Participant User
User
elaborate
notebookstest deployment of applications
production deployment for users
share experiences
for administration
share
experience
acquire skill and knowledge
through shared experiences
self
administration
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(どうなって欲しいのか)
ü やり直しの効く範囲はどこまでか,戻せるのか
ü (状況が変わったら,失敗したら)どこまで戻ればよいのか
ü 回復できないポイントとその回避可能性
ü 依存関係が恒常的なのか一時的なのか
ü 事前,事後の依存する作業
ü 分離できる条件と範囲, 作業の構造を見通したい
Y Masatani, National Institute of Informatics
今のところ..
インフラの面倒を見る人の間で..
ドキュメンテーション「大変」であることを
Notebook を媒介に..
コミュニケートできる..ということ!
ドキュメンテーションやら
運用の見える化やら
yoshi NOBU masatani, National Institute of Informatics
今のところ..,,..
1
1 1
1 1
Y Masatani, National Institute of Informatics
日常の作業記録・証跡
Y Masatani, National Institute of Informatics
運用作業者のための「追随可能な手順書」
Y Masatani, National Institute of Informatics
利用者のための「追随可能な指示書・作業確認書」
内容の確認
カスタマイズに必要な情報の提供
セルフ・アドミニストレーション
Y Masatani, National Institute of Informatics
再利用性を重視したHadoopクラスタの構築手順書
Y Masatani, National Institute of Informatics
AKK V B AT KJ BJP6
AKK SFIH JBO V B AT KJ B FRBI HH V B AT KJ FRB
P NP PK P B OBNRF BO AKK V -B KIIFOOFKJ - P 5KAB
6 BN PFKJ H KHF T BPPFJDO B NFPT!!! AKK NBNBM FOFPBO V B AT KJ BJP6
3;4 V B AT KJ BJP6 3;4 V BP BJP6 3;4 V /K ;4
BJP6 BJP6 BJP6 BJP6 BJP6 BJP6 BJP6 BJP6
;4
NBIBP H
;4
NBIBP H
;4
NBIBP H
;4
NBIBP H
;4
NBIBP H
;4
NBIBP H
;4
NBIBP H
;4
NBIBP H
KK3B
BBN
KK3B
BBN
KK3B
BBN
5IB
5KAB
5IB
5KAB
-P5
KAB
-P5
KAB
-P5
KAB
-P5
KAB
BOK
NB
4JD
BN
BOK
NB
4JD
BN
5KAB
4JD
BN
5KAB
4JD
BN
5KAB
4JD
BN
5KAB
4JD
BN
NG
B
PKKHO
FRB
FRB
IHH
BOP
- P OBP
BOP 2K
! AKK -B HKTIBJP 5KPB KKG
! AKK 6 BN PFKJ 5KPB KKG
! AKK NBNBM FOFPBO
5KPB KKG
FI HB 5 CKN BOP FI HB NG O NF P CKN BOP ! AKK KOP ;BNFCF PFKJ
5KPB KKG
! AKK H OPBN -BOFDJ
5KPB KKG
BP 1JRBJPKNT
5
-.
Elaborated Notebook’s Structure
Y Masatani, National Institute of Informatics
Elaborated Control Flows
Y Masatani, National Institute of Informatics
委託作業者による作業の「追試可能な作業報告書」
システムの構築作業を委託
→ 作業報告書や システムの保守・運用手順が
紙,電子ファイルとして納入される…
報告書 → 実作業の証跡としての有効
手順書 → 再利用する機会
Y Masatani, National Institute of Informatics
記述・ドキュメントの..「形」は何にしたがう..
ソフトウェアのアーキテクチャ
収容構成
運用の体制
当事者たる人間の関係性
蓄積と発展
機能に従う
失敗に従う
Social な “Literacy”
Y Masatani, National Institute of Informatics
Individual 個々人による探索・試行錯誤
Collaborative 複数人でアイデアを共有・レビューして発展
Production 複数のグループによる展開,実用化
Publication & Communication
Education
Lifecycle of a Scientific Idea ≒ Engineering Practices
Y Masatani, National Institute of Informatics
Literate Computing for Reproducible Infrastructure
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 EngineerApprentice Engineer Expert User
Participant User
Y Masatani, National Institute of Informatics
nblineage – Understand Life Cycle of Notebooks
How people share, revise, and evolve notebooks in a team.
A hypothesis:
- there should be a seed notebook and it would be reused and revised
several situations.
- Subsequently, a useful seed would generate a collection of diverged
notebooks,
- Then the collection would be refactored..
nblineage has been developed in order to study how usable notebooks are
evolved and distributed. This is on-going practice..
Y Masatani, National Institute of Informatics
https://github.com/NII-cloud-operation/Jupyter-LC_nblineage
Cell s meme ID at `lc_cell_meme` of cell metadata.
{
"lc_cell_meme": {
"current": "8f5c5fe2-71cc-11e7-9abe-02420aff0008", ## The meme id for this cell
"previous": "8f5c5cea-71cc-11e7-9abe-02420aff0008", ## The context of this cell as reference to the
"next": "f2125b84-4669-11e7-958b-02420aff0006", ## previous and the next cells
"history": [ ## The history of this notebook's context
{
"current": "8f5c5fe2-71cc-11e7-9abe-02420aff0008",
"previous": "8f5c5ee8-71cc-11e7-9abe-02420aff0008",
"next": "8f5c60aa-71cc-11e7-9abe-02420aff0008"
},
{
"current": "8f5c5fe2-71cc-11e7-9abe-02420aff0008",
"previous": "f2125b84-4669-11e7-958b-02420aff0006",
"next": "8f5c5ee8-71cc-11e7-9abe-02420aff0008"
}
]
},
...
}
Y Masatani, National Institute of Informatics
https://github.com/NII-cloud-operation/Jupyter-LC_nblineage
Notebook's meme ID at `lc_notebook_meme` of notebook metadata.
{
"lc_notebook_meme": {
"current": "1904d564-71c6-11e7-8369-0242ac110002", ## The meme id for this notebook
"lc_server_signature": {
"current": {
"server_url": "https://xxxxx.nii.ac.jp/user/xxxx/", ## The current notebook server information is also stored
"notebook_path": "/",
"notebook_dir": "/notebooks",
"signature_id": "034b406c-71c8-11e7-a8bf-02420aff0008"
},
"history": [
{ ## Travel history where this notebook has been executed
"notebook_dir": "/notebooks",
"notebook_path": "/",
"server_url": "http://localhost:8888/",
"signature_id": "dc3b0162-71bb-11e7-8369-0242ac110002"
}
]
},
...
}
Y Masatani, National Institute of Informatics
https://github.com/NII-cloud-operation/Jupyter-LC_nblineage
The list of meme IDs of cells in this notebook is also recorded
{
"lc_notebook_meme": {
"current": "5fb59a5c-71d0-11e7-9acc-0242ac110002", ## newly assigned notebook's meme id
"lc_server_signature": {
"current": {
...
...
},
"root_cells": [
"5fb59caa-71d0-11e7-9acc-0242ac110002", ## The list of cells' meme IDs in this notebook
"5fb59dfe-71d0-11e7-9acc-0242ac110002", # In this case there are 6 cells in this notebook
"5fb59f2a-71d0-11e7-9acc-0242ac110002",
"5fb5a042-71d0-11e7-9acc-0242ac110002",
"5fb5a150-71d0-11e7-9acc-0242ac110002",
"5fb5a25e-71d0-11e7-9acc-0242ac110002"
],
"history": [
"1904d564-71c6-11e7-8369-0242ac110002" ## old meme id of this notebook that was <source.ipynb>
]
},
...
}
Y Masatani, National Institute of Informatics
Lineage Network
Notebook
degree of
common memes
Y Masatani, National Institute of Informatics
Lineage Network
Y Masatani, National Institute of Informatics
Lineage Network
Collect reusable materials
as a baseline
CentOS 6 ⇒ 7
Import stacks
Deploy a seed
Production
Side work for production
Another concurrent
development
Y Masatani, National Institute of Informatics
Retrospective Communication
Y Masatani, National Institute of Informatics
Y Masatani, National Institute of Informatics
Y Masatani, National Institute of Informatics
https://literate-computing.github.io/https://github.com/NII-cloud-operation/
https://www.facebook.com/groups/LiterateComputing/
気に入ったら★くださいね!
興味があったら参加してください
Y Masatani, National Institute of Informatics
Thank you
https://github.com/NII-cloud-operation

Weitere ähnliche Inhalte

Empfohlen

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

HPCOPS@20180702 - 「NIIでの計算機環境の運用及び、Literate Computing for reproducible infrastructure について」

  • 1. Y Masatani, National Institute of Informatics NIIでの計算機環境の運用及び、Literate Computing for Reproducible Infrastructure (LC4RI) について Y Masatani NII What is LC4RI - ( http: //literate-computing.github.io ) It is as important to share and communicate about infrastructure design and elaborated workflows with participants as to actually automate complex operations. Literate Computing for Reproducible Infrastructure is an approach both to describe automated operations as live code and to share predicted and reproducible outcomes among technical and non-technical alike in the form of narrative stories. We utilize Jupyter Notebook for sharing reproducible experience. The operational engineering and DevOps should be one of distinctive application areas for Jupyter. 第2回 HPC OPS研究会 日時:2018年7月2日 主催: 理化学研究所. 協賛: 日本マイクロソフト https://bit.riken.jp/2018/06/2nd-hpc-ops-mtg/
  • 2. Y Masatani, National Institute of Informatics Agenda • NIIの計算機環境 • LC4RI 取り組みの動機 ∼ 現場における課題感 • 実践のための Jupyter Notebook 機能拡張 • 今後の思惑
  • 3. Y Masatani, National Institute of Informatics NII研究クラウド Academic Baremetal Cloud 利用 研究室セグメント 教員の 研究室セグメント 直結 Jupyterで 研究用クラスタ 構築支援 所内研究者 研究用プログラム 物理マシンプール iSCSI volumes 研究者 Jupyterで 自動構築 運用管理 研究環境 構築者 運用手順 ノウハウの 共有・再利用 クラウド 構築・運用者 ベアメタルを そのまま貸出 構築手順
  • 4. Y Masatani, National Institute of Informatics Symmetric Physical Infrastructure 運用管理サーバ (正・副) - OpenFlow Controller - プロビ - レポジトリ - OperationHub R630 2式 1GbE x8 ・・・・・・ ストレージ装置 PS6210X 20式 10GbE x4 ベアメタルサーバ R630 30式 10GbE x4 ・・・・・ ストレージセグメントスイッチ S6000 2式 10/40GbE x32 管理セグメントスイッチ P-3930 2式 10G-T x48,40GbE QSFP x4 サービスセグメントスイッチ S4820T 2式 10G-T x48,40GbE QSFP x4 サービス系 L2 NW - 研究セグメントに L2 接続 (研究者が管理するネットワーク) - SINET L2VPN にも接続化 運用管理系の NW は OpenFlow を用いた 非対称な アクセス制御 4種のセグメント(サブネット)に分割 1. Management, IPMI 2. OpenStack Provisioning 3. OpenFlow S/W 制御 4. Storage 制御 3と4は同一セグメント(相互疎通不可の flow 制御)
  • 5. Y Masatani, National Institute of Informatics Symmetric Physical Infrastructure • 機械化を追求できる物理レイヤ設計 トポロジが対称で、相似なノードを切り出せる構成 • 管理・制御用ネットワーク上のアクセス制御は Open Flow を活用(できるのはこんな場合ぐらいか.. テナント隔離を port-to-port のフロー制御で実現、IP/MAC Spoofing 攻撃等不可 管理サーバから見ると異なるテナント所属するサーバ群に均一にアクセス可だが、テナント間では不可 同一サブネット内に非対称なアクセス制御を実装できるので.. 運用・管理設計を簡素化できる • ユーザネットワーク VLANで分離、SINET L2VPNと直結可能・高スループット • NWストレージ SCSIで帯域を活用、内蔵ディスクと同等以上のスループット
  • 6. Y Masatani, National Institute of Informatics Open Flow based access control on Management Network Serv 1 Serv 2 Serv 4 Management Network on a subnet Serv 3 Bare-Metal Servers Cntrol Serv 1 Control Serv 2 Client Server 相互 は flow 制御により疎通しない Control Server からはすべての client Server に疎通する • 管理サーバから Bare-Metalとして払い出したサーバへ疎通することはできるが、 払い出されたサーバ間の接続は不可(flow 制御によりパケットが届かない、詐称攻撃不可) • 個別に許可することは可能
  • 7. Y Masatani, National Institute of Informatics Tired Provisioning 運用管理ノードを起点としたクラスタの構築 運用管理ノードは、管理用のJupyterサーバ機能、OpenStack、k8s などの構築資材レポジトリ機能、 管理ネットワークの制御用サーバ機能を保持 例: OpenStack クラスタの構築 1. 任意のベアメタルノードから OpenStack の制御サーバを導入するマスタ用ノードを選択 2. OpenStack から貸し出すノード群を選択、制御情報を登録(ノードNICがどのNWセグメントに帰属しているか明示的に登録している) 3. 管理ネットワーク上に、制御に必要となるネットワークの疎通を生成 4. 運用管理ノードから Jupyter Notebook で マスタ用ノードをプロビジョニング 5. マスタ用ノードに展開された OpenStack 制御ノードから、Bare-Metal ノードをプロビジョニング ① ② ③ ④ ⑤ • 物理領域を分割して、開発用のクラスタをプロビ ジョニングするなど • クラスタ構築手順の再現、検証を実施することも.. , , etc
  • 8. yoshi NOBU masatani, National Institute of Informatics Jupyter Deployment @ NII Expert Engineer @Operation Team Production @Private Cloud Playground @Public Cloud Participant User Apprentice Engineer @Operation Team JupyterHub Expert User Jupyter @Management Server Managed by Operators Self Admin by Users Acquire Skills from Experiences on Sandbox KVM … Jupyter @Hypervisor
  • 9. Y Masatani, National Institute of Informatics 現実の問題として.. 日々の運用作業の証跡を記録 そこから手順を整理して再利用する マニュアルや教材を整備する 複数局面での計算機利用を、記述・蓄積したい 「適切に分節化したものを紡いで」 様相の異なる局面でも,, 対象が異なっても,, 属人化・サイロ化を回避する,, Traceability Reusability Reproducibility Automation beyond Silos
  • 10. Y Masatani, National Institute of Informatics 実現したいこと • 作業の信頼性向上 • 手順の再利用 • ポータブルな手順 – 環境に依存しない… – 環境の変更に追従できる… – Systems System への適応 Infrastructure でも Social Coding / Design Review のような… 集合知の形成 / 綺麗な建付を愛でる美意識を形成… できるように à architecture (operation込) における rationality / cardinality of design を 対象化
  • 11. 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 Automation ?
  • 12. Y Masatani, National Institute of Informatics Individual 個々人による探索・試行錯誤 Collaborative 複数人でアイデアを共有・レビューして発展 Production 複数のグループによる展開,実用化 Publication & Communication Education Lifecycle of a Scientific Idea ≒ Engineering Practices
  • 13. Y Masatani, National Institute of Informatics “Literate Computing for Reproducible Infrastructure” 文芸的機械化 - 機械的に再現できる、人が読み解ける手順 自働化 機械化 人が介在しつつも機械的に再現できる Reproducibility asCode は共通認識の形成に寄与してこそ! .. 現場でのコミュニケーションを促すもの Open Communication about Design and Process through Notebook 計算機 = computation も 人間どうし も = communication 役割分担 ü 実際の実行結果が手順とともに,dataが live-code に埋め込まれていて再現できる ü 手順や経緯 が具体的に,再現可能な形で表現・伝達 ü Technical と Non-Technical で 理解を共有
  • 14. Y Masatani, National Institute of Informatics Collaboration and Automated Operation “Manual” Operations “Autonomous” Operations No Ops “Automated” Operations DevOps + Programming “Leftover Principle” “Complementarity Principle” Automation within a Silo and in Blackboxes Literate Computing for Reproducible Infrastructure + Computational Narratives • Collaboration among human sharing reproducible experiences including both “what went wrong” and “what went right” • Collaboration with Automation keeping potential to respond, monitor, learn and anticipate 自働化 機械化 自動化 + Human in the Loop
  • 15. Y Masatani, National Institute of Informatics Automation Should Be Like Iron Man, Not Ultron “The automation we created abided by the complementarity principle. It was a partnership between human and machine. It did not limit our ability to learn and grow. The control over the system was shared between the automation and the humans involved. In other words, rather than creating a system that took over the cluster and ran it, we created one that partnered with humans to take care of most of the work. It did its job autonomously, but we did not step on each other's toes.” Thomas A. Limoncelli. 2015. Automation Should Be Like Iron Man, Not Ultron. Queue 13, 8, pages 50 (September 2015), 10 pages.
  • 16. Y Masatani, National Institute of Informatics Our Tools as Parts of Ourselves “Automation weakens the bond between tool and user not because computer-controlled systems are complex but because they ask so little of us. They hide their workings in secret code. They resist any involvement of the operator beyond the bare minimum. They discourage the development of skillfulness in their use. Automation ends up having an anesthetizing effect. We no longer feel our tools as parts of ourselves. ” InCarr, Nicholas. The Glass Cage: How Our Computers Are Changing Us (p. 223). W. W. Norton & Company. Kindle Edition.
  • 17. Y Masatani, National Institute of Informatics Hardiman, General Electric in 1965 https://www.engadget.com/2014/01/26/ge-man-amplifying-robots/ Automation 自働化 ≠ Automated Operation 機械化 “Our tools as parts of ourselves”
  • 18. yoshi NOBU masatani, National Institute of Informatics Enhancement for Robust and Reliable Operation The goals for Literate Computing tools are: • Secure outputs; summarize massive output lines on GUI and save all original output lines into an individual file • Prevent miss-operation; once a cell has been executed, it “freezes” against unintended execution and modification. • Add a perspective; when markdown’s hierarchy is collapsed embedded cells underneath are represented as “bricks” and also run through altogether. Jupyter Notebook server which bundles a set of tools for Literate Computing for Reproducible Infrastructure. This bundle shows what we have enhanced Jupyter. docker run -it --rm -p 8888:8888 niicloudoperation/notebook
  • 19. Y Masatani, National Institute of Informatics 日常の作業記録・証跡 と それらの再利用のために… セルの実行 コード化された作業内容 設計情報、運用状態、判断などを 文章で記述 以前の実行結果を 参照できる(お手本) 実行結果を お手本と比較 ノートブックの複製を渡して作業依頼 スキルトランスファーとして機能 GUI操作などコード化しずらい操作は 文章として記述して手作業をする 作業にあたって作業日時を 接頭辞に付したノートブックを作成 ノートブックを介し作業を行う 作業後に残ったノートブックが そのまま証跡となる 直近の類似の作業を行った ノートブックを複製して、経験を再利用 内容を継続的に見直して、作業改善
  • 20. Y Masatani, National Institute of Informatics About NII Extensions https://github.com/NII-cloud-operation
  • 21. yoshi NOBU masatani, National Institute of Informatics Secure Outputs – LC_wrapper kernel • Summarize massive output lines • At each cell’s execution all original output lines are saved into an individual file with a time stamp. • You can review whole output and compare with previous results from different executions. https://github.com/NII-cloud-operation/Jupyter-LC_wrapper
  • 22. yoshi NOBU masatani, National Institute of Informatics https: //github.com/NII-cloud-operation/Jupyter-LC_docker << Document $ docker pull niicloudoperation/notebook $ docker run -it --rm -p 8888:8888 niicloudoperation/notebook demo
  • 23. yoshi NOBU masatani, National Institute of Informatics Enhanced Collapsible Headings https://github.com/NII-cloud-operation/Jupyter-LC_run_through/
  • 24. yoshi NOBU masatani, National Institute of Informatics “Run through” Control
  • 25. yoshi NOBU masatani, National Institute of Informatics Notebook for Diagnostic & Validation 実行可能なチェックリストとして活用
  • 26. yoshi NOBU masatani, National Institute of Informatics Visualize Relationship and Dependency https://github.com/NII-cloud-operation/Literate-computing-Elasticsearch/blob/master/99_Summarizing%20notebooks.ipynb http://blockdiag.com/en/
  • 27. yoshi NOBU masatani, National Institute of Informatics Visualize Relationship and Dependency Notebook の関係を宣言的に記述 http://blockdiag.com/en/を用いて関連図を生成
  • 28. yoshi NOBU masatani, National Institute of Informatics Visualize Relationship and Dependency Notebook の目次を blockdiag に挿入
  • 29. yoshi NOBU masatani, National Institute of Informatics Exploring Best Way..
  • 30. Y Masatani, National Institute of Informatics Reproducible Experience Reproducible Operation Procedure Make “Prerequisite” reproducible too What we call as “Bindings” to the real specific world. • Moving targets, i.e. systems’ system • Always involve human in a evolutional loop Literate Computing Skill 文芸 Art How we maintain Notebooks Reproducible Infrastructure Share Knowledge Share Reproducible Experience Jupyter Notebook ~ Reproducible Document
  • 31. yoshi NOBU masatani, National Institute of Informatics Share Reproducible Experiences Transfer skill and knowledge through shared reproducible experiences among engineers, users, tech and non-tech. < Live Codes > < Outputs > Engineers Expert Engineer share experiences Apprentice Engineer Expert User Participant User User elaborate notebookstest deployment of applications production deployment for users share experiences for administration share experience acquire skill and knowledge through shared experiences self administration
  • 32. 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(どうなって欲しいのか) ü やり直しの効く範囲はどこまでか,戻せるのか ü (状況が変わったら,失敗したら)どこまで戻ればよいのか ü 回復できないポイントとその回避可能性 ü 依存関係が恒常的なのか一時的なのか ü 事前,事後の依存する作業 ü 分離できる条件と範囲, 作業の構造を見通したい
  • 33. Y Masatani, National Institute of Informatics 今のところ.. インフラの面倒を見る人の間で.. ドキュメンテーション「大変」であることを Notebook を媒介に.. コミュニケートできる..ということ! ドキュメンテーションやら 運用の見える化やら
  • 34. yoshi NOBU masatani, National Institute of Informatics 今のところ..,,.. 1 1 1 1 1
  • 35. Y Masatani, National Institute of Informatics 日常の作業記録・証跡
  • 36. Y Masatani, National Institute of Informatics 運用作業者のための「追随可能な手順書」
  • 37. Y Masatani, National Institute of Informatics 利用者のための「追随可能な指示書・作業確認書」 内容の確認 カスタマイズに必要な情報の提供 セルフ・アドミニストレーション
  • 38. Y Masatani, National Institute of Informatics 再利用性を重視したHadoopクラスタの構築手順書
  • 39. Y Masatani, National Institute of Informatics AKK V B AT KJ BJP6 AKK SFIH JBO V B AT KJ B FRBI HH V B AT KJ FRB P NP PK P B OBNRF BO AKK V -B KIIFOOFKJ - P 5KAB 6 BN PFKJ H KHF T BPPFJDO B NFPT!!! AKK NBNBM FOFPBO V B AT KJ BJP6 3;4 V B AT KJ BJP6 3;4 V BP BJP6 3;4 V /K ;4 BJP6 BJP6 BJP6 BJP6 BJP6 BJP6 BJP6 BJP6 ;4 NBIBP H ;4 NBIBP H ;4 NBIBP H ;4 NBIBP H ;4 NBIBP H ;4 NBIBP H ;4 NBIBP H ;4 NBIBP H KK3B BBN KK3B BBN KK3B BBN 5IB 5KAB 5IB 5KAB -P5 KAB -P5 KAB -P5 KAB -P5 KAB BOK NB 4JD BN BOK NB 4JD BN 5KAB 4JD BN 5KAB 4JD BN 5KAB 4JD BN 5KAB 4JD BN NG B PKKHO FRB FRB IHH BOP - P OBP BOP 2K ! AKK -B HKTIBJP 5KPB KKG ! AKK 6 BN PFKJ 5KPB KKG ! AKK NBNBM FOFPBO 5KPB KKG FI HB 5 CKN BOP FI HB NG O NF P CKN BOP ! AKK KOP ;BNFCF PFKJ 5KPB KKG ! AKK H OPBN -BOFDJ 5KPB KKG BP 1JRBJPKNT 5 -. Elaborated Notebook’s Structure
  • 40. Y Masatani, National Institute of Informatics Elaborated Control Flows
  • 41. Y Masatani, National Institute of Informatics 委託作業者による作業の「追試可能な作業報告書」 システムの構築作業を委託 → 作業報告書や システムの保守・運用手順が 紙,電子ファイルとして納入される… 報告書 → 実作業の証跡としての有効 手順書 → 再利用する機会
  • 42. Y Masatani, National Institute of Informatics 記述・ドキュメントの..「形」は何にしたがう.. ソフトウェアのアーキテクチャ 収容構成 運用の体制 当事者たる人間の関係性 蓄積と発展 機能に従う 失敗に従う Social な “Literacy”
  • 43. Y Masatani, National Institute of Informatics Individual 個々人による探索・試行錯誤 Collaborative 複数人でアイデアを共有・レビューして発展 Production 複数のグループによる展開,実用化 Publication & Communication Education Lifecycle of a Scientific Idea ≒ Engineering Practices
  • 44. Y Masatani, National Institute of Informatics Literate Computing for Reproducible Infrastructure 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 EngineerApprentice Engineer Expert User Participant User
  • 45. Y Masatani, National Institute of Informatics nblineage – Understand Life Cycle of Notebooks How people share, revise, and evolve notebooks in a team. A hypothesis: - there should be a seed notebook and it would be reused and revised several situations. - Subsequently, a useful seed would generate a collection of diverged notebooks, - Then the collection would be refactored.. nblineage has been developed in order to study how usable notebooks are evolved and distributed. This is on-going practice..
  • 46. Y Masatani, National Institute of Informatics https://github.com/NII-cloud-operation/Jupyter-LC_nblineage Cell s meme ID at `lc_cell_meme` of cell metadata. { "lc_cell_meme": { "current": "8f5c5fe2-71cc-11e7-9abe-02420aff0008", ## The meme id for this cell "previous": "8f5c5cea-71cc-11e7-9abe-02420aff0008", ## The context of this cell as reference to the "next": "f2125b84-4669-11e7-958b-02420aff0006", ## previous and the next cells "history": [ ## The history of this notebook's context { "current": "8f5c5fe2-71cc-11e7-9abe-02420aff0008", "previous": "8f5c5ee8-71cc-11e7-9abe-02420aff0008", "next": "8f5c60aa-71cc-11e7-9abe-02420aff0008" }, { "current": "8f5c5fe2-71cc-11e7-9abe-02420aff0008", "previous": "f2125b84-4669-11e7-958b-02420aff0006", "next": "8f5c5ee8-71cc-11e7-9abe-02420aff0008" } ] }, ... }
  • 47. Y Masatani, National Institute of Informatics https://github.com/NII-cloud-operation/Jupyter-LC_nblineage Notebook's meme ID at `lc_notebook_meme` of notebook metadata. { "lc_notebook_meme": { "current": "1904d564-71c6-11e7-8369-0242ac110002", ## The meme id for this notebook "lc_server_signature": { "current": { "server_url": "https://xxxxx.nii.ac.jp/user/xxxx/", ## The current notebook server information is also stored "notebook_path": "/", "notebook_dir": "/notebooks", "signature_id": "034b406c-71c8-11e7-a8bf-02420aff0008" }, "history": [ { ## Travel history where this notebook has been executed "notebook_dir": "/notebooks", "notebook_path": "/", "server_url": "http://localhost:8888/", "signature_id": "dc3b0162-71bb-11e7-8369-0242ac110002" } ] }, ... }
  • 48. Y Masatani, National Institute of Informatics https://github.com/NII-cloud-operation/Jupyter-LC_nblineage The list of meme IDs of cells in this notebook is also recorded { "lc_notebook_meme": { "current": "5fb59a5c-71d0-11e7-9acc-0242ac110002", ## newly assigned notebook's meme id "lc_server_signature": { "current": { ... ... }, "root_cells": [ "5fb59caa-71d0-11e7-9acc-0242ac110002", ## The list of cells' meme IDs in this notebook "5fb59dfe-71d0-11e7-9acc-0242ac110002", # In this case there are 6 cells in this notebook "5fb59f2a-71d0-11e7-9acc-0242ac110002", "5fb5a042-71d0-11e7-9acc-0242ac110002", "5fb5a150-71d0-11e7-9acc-0242ac110002", "5fb5a25e-71d0-11e7-9acc-0242ac110002" ], "history": [ "1904d564-71c6-11e7-8369-0242ac110002" ## old meme id of this notebook that was <source.ipynb> ] }, ... }
  • 49. Y Masatani, National Institute of Informatics Lineage Network Notebook degree of common memes
  • 50. Y Masatani, National Institute of Informatics Lineage Network
  • 51. Y Masatani, National Institute of Informatics Lineage Network Collect reusable materials as a baseline CentOS 6 ⇒ 7 Import stacks Deploy a seed Production Side work for production Another concurrent development
  • 52. Y Masatani, National Institute of Informatics Retrospective Communication
  • 53. Y Masatani, National Institute of Informatics
  • 54. Y Masatani, National Institute of Informatics
  • 55. Y Masatani, National Institute of Informatics https://literate-computing.github.io/https://github.com/NII-cloud-operation/ https://www.facebook.com/groups/LiterateComputing/ 気に入ったら★くださいね! 興味があったら参加してください
  • 56. Y Masatani, National Institute of Informatics Thank you https://github.com/NII-cloud-operation