云計算分層為大數據帶來清晰的處理架構,諸如DaaS讓與數據相關的任何服務都能夠發生在一個集中化的位置,各分層可能通過發布平臺化產品來讓相應人員在其上開發,以優化效能與資源。
云平臺如何運維
以DaaS層開發為例,不同應用的數據開發人員要在統一的數據平臺上發布自己的任務,通常會考慮日后如何對任務進行運維,涉及到監控的有:
- 任務是否被調度
- 數據吞吐量如何(按天/小時/分鐘等)
- 數據處理是否正確、完整、及時
- 當前任務是否存在問題,若有問題,是否能及時通知訂閱者
- 若有問題,問題發生在哪里(任務、集群、機器、模塊),問題是原因是什么?
數據平臺提供者在開發監控服務時,需時刻圍繞著上述問題。只有這樣,數據開發人員才能在任務運維上承擔更多,并對任務風險有足夠的掌控力。
如何開發監控
監控數據論
通常,為了回答"問題的是什么",我們需要收集大量數據。很多時候,最終定位原因看似僅用了一點數據,但嚴謹的分析和論證的過程難免要依賴所有可能的數據
image.png
監控進化論
從結果倒推看,“為什么不能提早發現問題”的分析和改進過程,有助于提煉初問題的范圍或特征。通常,問題的范圍或特征值越精細,越容易回答“問題是什么”
image.png
監控方法論
根據數據論里的三個問題,開發監控的策略大致分為:
- 針對“有問題嗎?”
- 根據用戶經驗和進化論來提供監控點
- 問題上報的命中率很重要
- 至少花50%時間開發此項將帶來更大價值
- 針對“問題在哪里?”
- 對于高度分層和模塊的平臺而言,這點相對簡單,一般花10%時間開發足矣
- 針對“問題是什么?”
- 當“有問題嗎”越被改進,這個問題越容易
- 依賴運維人員基于數據的分析能力,并以分析經驗提供監控方向
架構選型
待續