iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0

如何管理和維護各種系統,以確保正常運行並適應不斷變化的環境?

沒有系統可以獨立存在,每個系統都存在於更大的生態系統中,並受到周圍環境和其他系統的影響。

就好比居住的空間總會受到家人、室友、鄰居的好壞而影響生活品質,該怎麼衡量與取捨?

資源管理

道生一,一生二,二生三,三生萬物

事物都相互關聯並依賴於彼此,系統間互動是不可避免的,因此必須適應和應對這些變化。

舉例來說許多我們日常生活中依賴的系統,例如冰箱和冷氣,都需要穩定的電力供應才能正常運作。

如果缺乏必要的資源,系統將無法達到它們的預期功能,這就強調了資源管理的重要性。

軟體開發常見會消耗資源的成本包含

  • 流程成本: 目標是減少流程,每多一道流程就增加出錯的機率
  • 理解成本: 目標是可讀性高的程式碼
  • 修改成本: 目標是可維護性高的程式碼
  • 執行成本: 目標是降低時間與空間複雜度
  • 測試成本: 目標是增加自動化的比例,降低人工
  • 技術成本: 目標是減少專案的入門門檻

監控

環境會隨著時間改變,也因此會影響系統的運作流程和產出,靜止的系統並不存在,存在的是平衡。

在技術和工程領域 Entropy (熵) 的概念也非常重要,Entropy 表示系統的無序度並且會趨向於最大亂度,因此系統管理需要防止過度的混亂,以確保穩定性和效能。

系統通常處於不斷變化的狀態,因此需要不斷監控和管理系統應對這種變化以保持系統平衡。

監控上需要關注時間順序、流程順序和容錯空間,以確保系統的可靠性和穩定性

  • 時間順序: 事件發生的順序
  • 流程順序: 涉及流程的步驟和執行順序
  • 容錯空間: 是指系統中的容錯機制,用於處理錯誤和故障

透過商業模型理解變化去定義正常值的上下界範圍,可以更好地識別系統問題並採取相應的措施。

服務水準指標與目標

在 Site Reliability Engineering (SRE) 領域通常透過 Service Level Indicator (SLI) 和 Service Level Objective (SLO) 兩個指標來評估我們的系統,並透過指標管理系統和維護系統以確保其正常運行和適應變化。

Service Level Indicator

Service Level Indicator (SLI) 是用來測量實際性能的數據

SLI 通常是基於數據和指標的量化測量,例如服務的響應時間、錯誤率、可用性等,用來定義服務的實際性能,並提供了關於服務表現的客觀數據,一種衡量服務性能的具體指標或度量標準。

  • 每個請求都在 500ms 內可以回應
  • 發生 HTTP Response Code 500 的次數

Service Level Objective

Service Level Objective (SLO) 是設定的性能目標

SLO 通常基於 SLI 設定可量化的目標用來衡量服務的期望性能水準,定義了一個服務在特定條件下應該達到的效能,例如某個服務的響應時間應該在多少毫秒以內。

在系統中重要的是容錯和高可用性,例如系統應該在 99.999% 的時間內可用,以確保最小的中斷時間。

Service Level Agreement

Service Level Agreement (SLA) 是一種正式的合約或協議

在企業和服務提供方面透過服務水準協議 (SLA),用於確定服務提供者應遵守的服務水平標準,通常基於 SLO 規定性能、可用性和支援方面的承諾,但更具有法律約束力。


上一篇
建模和收納 X 豆漿和油條
下一篇
決定成敗的系統細節分析
系列文
前端三分鐘 X 每天三分鐘的斷捨離,讓每一天都可以早點下班30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言