在開始進行DevOps 工作(註:非自願)時,我深深感受到文件(操作手冊)的重要性。不單是別人給予的文件,自己寫下的筆記也同樣的重要。

但就算是自己寫的筆記也必可靠,只要文件是在事後寫的,也不會可信,因為你都累得半死,還有心力把一切記下來嗎?

一星期後再拿出來看,總覺得缺少了一點什麼,但就是想不起來。

當再次遇到同樣的問題時,才恍然大悟想起有過這麼一件事,但怎解決?當時沒有寫下來呢。

困難一 :文件往往不反映現實

常說DevOps是為了拉近Dev及Ops的關係而誕生的,但我個人更想拉近的是文件與現實的距離。

在幾經思考後,我認為最好的方法是指令及文件放在一起,點擊便能執行,這樣的操作手冊(Runbook)甚至可以說一個控制台(Control Panel)

2ffcaedd36254eb2ea8afe48809ef888.png (概念圖片)

目標:讓操作冊(Runbook)成為控制台

每當出狀況時,可以直接修改內容或插入故障排除方法。這樣就可以自然而然地記錄所有問題,避免事後才寫文件時發生各種錯誤,並將know-how傳承下去。

Single Source of Truth

再讓所有同事養成使用同一份Runbook進行日常工作的習慣,並使用版本控制進行更新。這樣文件就會更貼近現實,成為一個可靠的單一真相來源( Single Source of Truth),避免花費老半天才發現文件不正確或過期的悲劇。

而我選擇了Jupyter來實踐這套方法

Jupyter是什麼

待續