機械化 - 自働化じゃなくて
運用自働化とよく言われますが.. 自働化ってことばが一人歩きして目的化してないでしょうか?
運用において解決したい課題は...
人為的な錯誤を避けられる手順・環境
煩雑な作業の効率化
再現性 -> さらには再利用性
引継ぎがしやすい -> さらには運用の継続性(組織、チームとして"再生産" 可能) 保守しやすい
ってな話であって.. それぞれが単純に「自働化」に帰結するはずもない。そもそも「自動」ということばには魔力があり多くの曖昧な期待を込め、各自が勝手に解釈してしまう。 前述の観点に即すのであれば 機械的に実行可能な手順 ,つまり機械化という概念の方がしっくりくる。自働化と言ってしまうと、なんとなく手順を作る人・テストする人・ドキュメントする人・利用する人が乖離している状況、あるいは高度なshell芸を駆使して作られたツール群の御守・足枷に嵌まった蛸壺状況を想像してしまうのは私だけでしょうか...
自働化というのは、何かしら賢人の手によるブラックボックスが良きに計らってくれるという印象で、自動的に操作されている内容に手出しできないという状況を暗示しています。それに対して、機械化というのは自らが操作者であることを放棄しない、必要であれば機械的に実行されている内容を人間が代行することもできる、Human in the loop という感覚です。
そしてまた、ここでいう Human は個人ではなくチームな訳ですし、the loop というのも局所単一ではなく複数多発で時々刻々と変化する渦巻きのようなもの(Moving Target なので loop は同じところに留まらない)な訳です。まぁ、これは研究機関のITバックヤードみないなところだと、 少量多品種なシステムの面倒をみる羽目になるという特殊事情かもしれませんが、システムのライフサイクルが短く、要件も逐次変遷するというのは今時どこにでも起こりうることかと。 そうなると、自働というよりも再現性がある、斉一な範囲が判断できる、手順や設計上の判断が読み解ける・共有できるということが重要と考える訳です。
まぁそこまで考えなくても、Jupyter を使う機械化ってのは計算機を自ら道具として取り戻すこと。「ドキュメントを開いて運用管理サーバからコマンドを投入、まちがいがないか確認、結果を証跡として wiki にコピペする」なんて所作、機器に隷属させられているような単純作業を軽減する、ドキュメントとコードと証跡を一体として扱える Jupyter Notebookで機械化する辺りから始めませんか?.. というのが Literate Computing for Reproducible Infrastructure - 文芸的機械化の取り組みです。
DEC20