Literate Computing for Reproducible Infrastructure
Jupyter based Toolset for an Infrastructure Engineer - 文芸的機械化のススメ
What is LC4RI?
It is as essential as to share and communicate about infrastructure design and elaborated workflows with participants as to actually automate complex operations. Literate Computing for Reproducible Infrastructure(LC4RI) 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 the reproducible experience. Operational engineering and DevOps should be one of the distinctive application areas for Jupyter.
The following video presents early practices back to late 2015 and 2016Q1. Since then, we have been developed Literate Computing Tools as enhancement of Jupyter.
LC4RIとは?
Literate Computing for Reproducible Infrastructure(以下 「LC4RI」)は、インフラ運用の場面において 機械的に再現できる、人が読み解ける手順 を手段として、過度に自動化に依存することのない、レジリエントな 人間中心の機械化 をめざしています。そこでは、作業を効率化しつつもブラックボックス化せず、作業に対する理解をチーム内でコミュニケーションできる、また、目的と手段の整合性や限界を理解し議論・評価できると言った場を維持することで、ノウハウの移転・共有を促し運用者のスキル向上とエンジニアリングチームの再生産をはかることを重視しています。
多くの現場では、管理サーバにログインしコンソール上で作業を行う、作業内容や証跡はWiki等に随時転記して共有する.. といった形態が一般的と思います。これに対しLC4RIでは運用管理サーバ上にNotebookサーバを配備し、作業単位毎にNotebookを作成、作業内容やメモを記述しながら随時実行するといった作業形態を推奨しています。作業の証跡を齟齬なく記録する仕組み、過去の作業記録を参照して機械的に再現あるいは流用できる仕組み、機械的に実行できるとともに人が読み解き補完することもできるNotebook手順を整備しています。
実践における種々のメモは Scrapbox - Literate-Computing にも書き留めています。