Jupyter for DevOps
在開始進行DevOps 工作(註:非自願)時,我深深感受到文件(操作手冊)的重要性。不單是別人給予的文件,自己寫下的筆記也同樣的重要。
但就算是自己寫的筆記也必可靠,只要文件是在事後寫的,也不會可信,因為你都累得半死,還有心力把一切記下來嗎?
一星期後再拿出來看,總覺得缺少了一點什麼,但就是想不起來。
當再次遇到同樣的問題時,才恍然大悟想起有過這麼一件事,但怎解決?當時沒有寫下來呢。
困難一 :文件往往不反映現實
常說DevOps是為了拉近Dev及Ops的關係而誕生的,但我個人更想拉近的是文件與現實的距離。
在幾經思考後,我認為最好的方法是指令及文件放在一起,點擊便能執行,這樣的操作手冊(Runbook)甚至可以說一個控制台(Control Panel)
(概念圖片)
目標:讓操作冊(Runbook)成為控制台
每當出狀況時,可以直接修改內容或插入故障排除方法。這樣就可以自然而然地記錄所有問題,避免事後才寫文件時發生各種錯誤,並將know-how傳承下去。
Single Source of Truth
再讓所有同事養成使用同一份Runbook進行日常工作的習慣,並使用版本控制進行更新。這樣文件就會更貼近現實,成為一個可靠的單一真相來源( Single Source of Truth),避免花費老半天才發現文件不正確或過期的悲劇。
而我選擇了Jupyter來實踐這套方法
Jupyter是什麼
Jupyter是一個集文件、編程及執行環境於一身的作業環境,可說是數據科學家們的最愛,它亦可以用於學習程式語言,它的介面如下:
待續