iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0
DevOps

Dev's Ops 啟程系列 第 9

[Day 9] SRE - 自動化

自動化

什麼東西可以自動化?對我而言只要可以列出SOP的事情,都可以實現自動化。

價值

一致性

當不同人遇到同樣的事件,處理的方法可能有百百種,但不一定每個人處理的SOP都是最佳化的,而你們可以討論出最佳化的流程並套用到自動化程式上,讓每個人處理此問題都保有一致性。


平台性

平台性可以將錯誤批量修正,如果你有1000台機器你只能一台一台修正的話,那要修到何時?而有平台性的自動化可以瞬間完成,反覆性的處理工作。


反應快,修復快

如果按照SOP,一步一步慢慢修正問題的話,「人」就可能造成失誤,而「人」的處理速度一定不會比自動化的SOP腳本還快,反之能利用自動化來自動處理,並預防問題發生。


超級省時

當call你上線到真正上線處理完問題最快最快可能要3分鐘,但只需要自動化的功能或程式需要的時間絕對比你還要快。因此自動化可以幫助消除那些routine job。


案例

自動化的演進過程

  • 沒有自動化 -> 人工依照經驗反應去執行命令處理
  • 外部維護系統 -> 人工依照經驗反應使用外部維護系統
  • 一般自動化的外部維護 -> 自動化使用外部維護系統
  • 內部維護系統 -> 進化成內部維護系統,可能要人工觸發或可能不用
  • 不需要依靠任何自動化的系統 -> 系統優化調校後,在系統面上將此問題進行根除

在SRE的世界,盡量避免手動操作,但免不了有些事情還是需要手動。

在寫完自動化程式的後續維護流程

  • 定期測試
    為的是有時候怕環境被異動,這些自動化程式就失效了。
  • 定期檢視
    有些自動化程式可能相依著商業邏輯,或當時環境,這兩個東西可能會隨著時間異動,所以還是需要定期去檢視一下,自動化程式是否還合宜?

小結

只要能制定出SOP標準的流程,基本上都能寫成自動化腳本。 /images/emoticon/emoticon07.gif


上一篇
[Day 8] SRE - 火炎焱燚之保衛戰
下一篇
[Day 10] SRE - ON-CALL
系列文
Dev's Ops 啟程30

尚未有邦友留言

立即登入留言