1. 程式人生 > >函式計算進行自動化運維專題

函式計算進行自動化運維專題

前言

通常來說,自動化運維有兩種型別的運維方式:

  • 定時的指令碼任務, 比如定時更換雲服務的 acess key secret , 定時檢查 ecs 對外暴露的埠等
  • 報警事件的緊急處理, 比如 ecs 例項發生異常重啟

在傳統的運維中,對於定時任務的處理通常用crontab指令碼來實現,但是一旦管理的機器多了,必定會對指令碼進行集中管理,這個時候對集中管理指令碼的機器的可用性、腳本里面會散落密碼明文等相關資訊以及定時任務執行的記錄都是一個很大的挑戰;而對於事件驅動的報警處理,要麼是通過簡訊報警告知運維人員,要麼需要自建服務來處理報警資訊, 無論是哪種方式,財務成本和運維成本都很大。本文探討一種新的運維方式,利用函式計算做自動化運維,以極低的成本就可以獲得一個高可靠,高質量的運維服務。

函式計算

阿里雲函式計算是一個事件驅動的serverless計算服務。通過函式計算,您無需管理伺服器等基礎設施,只需編寫程式碼並上傳。函式計算會為您準備好計算資源,以彈性、可靠的方式執行您的程式碼,具體表現為:

  • 無需採購和管理伺服器等基礎設施
  • 按需付費,比如對運維管控這類低頻呼叫的系統,財務成本通常能節約90%以上
  • 專注業務邏輯的開發,能極大提高開發效率,比如十分鐘上線彈性高可用的圖片處理服務
  • 穩定高可用,毫秒級別彈性伸縮,快速實現底層擴容以應對峰值壓力
  • 提供日誌查詢、效能監控、報警等功能快速排查故障

函式計算遇見自動化運維

函式計算給使用者極大的自由來實現自定義的功能,一旦和自定義自動化運維相遇,會擦出不一樣的火花。下面就本文就傳統的自動化運維和函式計算進行自動運維在兩種不同型別維度上做一個對比:

定時任務示例場景分析

定時任務示例場景1

某些雲服務賬號acess key secret需要定期更換,以確保 acess key secret安全

定時任務示例場景2

定期檢查自己 ecs 對應暴露的埠,確保安全。比如你的ecs是一個網站伺服器,可能只需要對外暴露 80 埠就行,如果出現 0.0.0.0/0 這種允許所有人訪問的漏洞,需要出現報警或者自動修復。

函式計算自動化運維實戰1 -- 定時任務

事件驅動示例場景分析

事件驅動示例場景1

假設兩臺 ECS 機器 A, B, A 機器出現了宕機,這個時候需要把A機器上的 eip 遷移到備用機器 B 上,可利用雲監控的報警和函式計算可以實現 eip 的自動遷移, 雲監控檢測到A宕機這個事件,然後觸發函式執行,函式實現 eip 的自動遷移。

函式計算自動化運維實戰2 -- 事件觸發 eip 自動轉移

事件驅動示例場景2

假設之前一臺 ecs 發生系統錯誤而重啟,使用者可能會緊急起來做一些驗證或者建立快照的處理, 在下面的實戰中,我們對一臺因為系統錯誤例項重啟或者因例項錯誤而重啟的機器進行自動化處理,比如成功重啟後建立快照處理。

函式計算自動化運維實戰3 -- 事件觸發自動建立快照

總結

用函式計算進行自動化運維,對進行自動化運維處理的函式進行視覺化的管理、監控,函式的執行具有彈性,高可用,安全性高等有點;同時在驅動函式的事件源上,雲監控提供了豐富事件,並且事件還在不斷豐富中(雲產品系統事件監控),豐富的事件觸發自定義處理的函式,高可用的定時器,這些都可以保證我們可以實現更加完美的的自動化運維。
如果對函式計算進行自動化運維這個運用場景感興趣, 請點選收藏本頁,我們會在這邊函式計算進行自動化運維這個專題主頁持續更新相關內容和實戰案例