SoftwareDesign 2020年5月号に「Literate Computing for Reproducible Infrastructure(再構築可能なインフラのための文芸的コンピューティング、略称LC4RI)」の記事があった。著者は以前NII(国立情報学研究所)にいらっしゃった技術者。
記事には、
Jupyter Notebookを使えば「実行可能な手順書」が作れると考え、操作手順書の納品仕様をノートブック形式としました。
とあり、『ドキュメントとオペレーションの一体化』という考え方が素晴らしいと思った。
発表者らのグループでは、計算機システムの構築・運用の方法論として「Literate Computing for Reproducible Infrastructure(再構築可能なインフラのための文芸的コンピューティング、以下、LC4RI)」を提案し、プライベートクラウドの構築・運用において実践している。構築・運用作業に必要となる、自然言語による技術情報、実行コード、さまざまな状況で起こり得る複数の実行結果、を、Notebookと呼ばれる1つの文書にパッケージし、拡張したJupyterNotebook上で使用することで、実行可能な手順書を実現している。
GitHubにはより具体的な情報が公開されている。
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 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.
CodeZineにも PaaS の効果的な運営の観点から開設した記事がありました。
企業内で開発を行う場合、開発環境構築基盤(PaaS)があると、一定の環境であれば効率よく構築できて非常に便利です。しかしながら、実際には開発チームごとに個別のカスタマイズが必要となるため、運用するには非常に高いコストがかかります。また、構築できるメンバーも限られてしまい作業が属人化してしまいがちです。
LC4RIとは、Jupyter Notebookを利用して実行・再現な可能手順書の整備と、手順書を用いた作業の証跡の管理を表裏一体で機械化し、人間が読み解ける文芸的コンピューティングの実現を目指す試みです。AnsibleなどのDevOpsツールと組み合わせた、再構築可能なインフラの構築・運用に適用している実績があります。
Scrapboxを活用したページもある。テーマが一覧できてとてもわかりやすい。
設計・開発・運営・メンテナンス全体をエコサイクルとして考える。現代的なアプローチであり、アジャイルの真髄でもあります。
コメント