執行失效模式分析的建議
適用於此 Power Platform Well-Architected 可靠性檢查表建議:
回復:03 | 使用故障模式分析 (FMA) 來找出解決方案元件中的潛在故障並確定其優先順序。 執行 FMA 以協助您評估每種故障模式的風險和影響。 決定工作負載的回覆和復原方式。 |
---|
本指南介紹對工作負載執行失效模式分析 (FMA) 的最佳做法。 FMA 是一種識別工作負載和相關流程中潛在失效點,並據此規劃風險降低措施的做法。 在該流程的每個步驟中,您都可以確定多種失效類型的影響範圍,這有助於您設計新的工作負載或重構現有工作負載,以將失效的影響範圍降至最小。
FMA 的一個關鍵原則是,無論您套用多少層復原,都會發生失效。 越複雜的環境會面臨越多類型的失效。 鑑於此事實,FMA 可讓您設計工作負載以承受大多數類型的失效,並在發生失效時正常恢復。
如果完全跳過 FMA 或執行不完整的分析,則工作負載將面臨因次優設計而導致不可預測行為和潛在中斷的風險。
定義
詞彙 | 定義 |
---|---|
失效模式 | 一種問題類型,可能導致一個或多個工作負載元件降級或嚴重影響到不可用程度。 |
風險降低措施 | 已確定可主動或被動解決問題的活動。 |
偵測 | 您的資料和應用程式監視以及警示流程和程序。 |
關鍵設計原則
在 FMA 的背景下,了解先決條件至關重要。 首先查看和實作用於識別流程的建議,並根據重要性確定流程的優先順序。 資料成品在描述這些流程中的資料路徑方面扮演重要的角色。 在深入研究 FMA 方法時,請專注於規劃關鍵流程的元件、確定相依性關係 (內部和外部),以及制定風險降低策略。
先決條件
查看並實作識別和評估流程的建議。 假設您已根據重要性識別使用者和系統流程,並確定其優先順序。
您收集的資料和您在工作中建立的成品,為您提供了整個流程中涉及的資料路徑的具體描述。 為了在 FMA 工作中取得成功,成品的準確性和徹底性至關重要。
FMA 方法
確定關鍵流程後,您可以規劃其所需的元件。 接下來,逐步按照每個流程確定相依性 (包括第三方服務和潛在失效點),並規劃風險降低策略。
分解工作負載
從構思轉向設計時,您需要確定支援工作負載所需的元件類型。 您的工作負載決定了您必須規劃的必要元件。
建立初始架構設計後,您可以覆蓋流程以標識這些流程中使用的離散元件,並建立描述流程及其元件的清單或工作流程圖。 若要了解元件的重要性,請使用已指派給流程的重要性定義。 考慮元件失效對流程的影響。
識別相依性關係
確定工作負載相依性關係以執行單點失效分析。 分解工作負載和覆蓋流程可以深入了解工作負載內部和外部的相依性關係。
內部相依性項目是工作負載範圍內,工作負載正常運作所需的元件。 典型的內部相依性項目包括 API 或機密/金鑰管理解決方案,例如 Azure Key Vault。 針對這些相依性項目擷取可靠性資料,例如可用性服務等級協定 (SLA) 和擴展限制。 外部相依性項目是工作負載範圍之外的必要元件,例如其他應用程式或第三方服務。 典型的外部相依性項目包括驗證解決方案,例如 Microsoft Entra ID 和 Power Platform 基礎結構。
識別並記錄工作負載中的相依性項目,並將其包含在流程文件成品中。
失效點
在工作負載的關鍵流程中,請考慮每個元件,並確定失效模式對該元件及其相依性項目的影響。 請記住,在規劃復原和修復時,需要考慮多種失效模式。 在任意指定時間,任何一個元件都可能受到多種失效模式的影響。 這些失效模式包括:
- 區域性中斷:整個 Power Platform 或 Azure 區域無法使用
- 服務中斷:一個或多個 Power Platform 或 Azure 服務無法使用
- 分散式阻斷服務 (DDoS) 或其他惡意攻擊
- 應用程式或元件設定錯誤
- 運算子錯誤
- 計劃性維護中斷
- 元件多載
考慮各種失效模式的可能性。 有些情況不太可能發生,例如多區域或多區域中斷,且在冗餘之外添加風險降低計劃並不能很好地利用資源和時間。
風險降低措施
風險降低策略分為兩大類:建置更強的復原能力和針對效能下降進行設計。
建置更強的復原能力代表確保應用程式設計遵循持久性的最佳做法;例如,將單體式應用程式分解為獨立的應用和微服務,並使用平台提供的復原設定 (如重試原則)。 有關詳細資訊,請參閱冗餘建議和自我保留建議。
若要針對效能下降進行設計,請確定可能停用流程的一個或多個元件但未完全停用該流程的潛在失效點。 要維護端對端流程的功能,您可能需要將一個或多個步驟重新路由到其他元件,或者接受失效的元件執行函式,以便該函式無法再於使用者體驗中使用。 回到電子商務應用程式的範例,像微服務這樣的失效元件可能會導致建議的引擎無法使用,但客戶仍然可以搜尋產品並完成交易。
您還需要圍繞相依性項目規劃風險降低措施。 強相依性項目在應用程式功能和可用性中具有關鍵性作用。 如果它們不存在或出現故障,可能會產生重大影響。 缺少弱相依性項目可能只會影響特定功能,而不會影響整體可用性。 這種差異反映了維護服務與其相依性項目之間高可用性關係的成本。 將相依性項目分類為強相依性項目或弱相依性項目,以協助您確定哪些元件對應用程式至關重要。
如果應用程式具有強大的相依性項目,並且沒有它就無法執行,則這些相依性項目的可用性和恢復目標應與應用程式本身的目標保持一致。 如果應用程式生命週期與其相依性項目的生命週期緊密耦合,則應用程式的作業敏捷性可能會受到限制,尤其是對於新版本而言。
偵測
失效偵測對於確保在分析中正確識別失效點,並正確規劃風險降低策略至關重要。 在這種情況下,偵測代表監視基礎結構、資料和應用程式,並在出現問題時發出警示。 盡量自動執行偵測,並在作業流程中建置冗餘,以確保始終擷取警示並快速回應,以滿足您的業務需求。 如需詳細資訊,請參閱監視建議。
結果
對於分析的結果,請建立一組文件來有效地傳達您的發現、您針對流程元件和風險降低措施做出的決策,以及失效對工作負載的影響。
在分析中,根據嚴重性和可能性來確定失效模式和風險降低策略的優先順序。 使用此優先順序,將文件的重點放在那些常見且嚴重到必須花費時間、精力和資源,來設計風險降低策略的失效模式上。 例如,有些失效模式可能很少發生或很少偵測到。 專門為這類模式設計風險降低策略並不值得。
有關文件起點,請參閱範例表。
在最初的 FMA 練習中,您產生的文件主要是理論規劃。 應定期審查和更新 FMA 文件,以確保其與您的工作負載保持同步。 混沌測試和真實世界的經驗將可協助您隨著時間的推移最佳化分析。
範例
下表顯示了做為 Power Apps 畫布應用程式託管的費用應用程式 FMA 範例,該應用程式具有 Microsoft Dataverse 後端和 APIM 中託管的 API,以便與第三方系統互動。
使用者流程:用戶登錄、提交費用報銷單、與費用報告交互
元件 | 風險 | 可能性 | 效果/風險降低/註釋 | 中斷 |
---|---|---|---|---|
Microsoft Entra ID | 服務中斷 | 低 | 完全工作負載中斷。 取決於 Microsoft 修復。 | 完整 |
Microsoft Entra ID | 設定錯誤 | 中 | 使用者無法登入。 無下游影響。 技術支持人員向識別團隊報告設定問題。 | None |
Power Apps | 服務中斷 | 低 | 外部使用者的完全中斷。 取決於 Microsoft 修復。 | 完整 |
Power Apps | 區域性中斷 | 非常低 | 外部使用者的完全中斷。 取決於 Microsoft 修復。 | 完整 |
Power Apps | DDoS 攻擊 | 中 | 潛在的中斷。 Microsoft 管理 DDoS (L3 和 L4) 保護。 | 部分中斷的可能性 |
Dataverse | 服務中斷 | 低 | 完全工作負載中斷。 取決於 Microsoft 修復。 | 完整 |
Dataverse | 區域性中斷 | 非常低 | 自動容錯移轉群組容錯移轉到次要區域。 容錯移轉期間的潛在中斷。 在可靠性測試期間確定復原時間目標 (RTO) 和復原點目標 (RPO)。 | 可能全部 |
Dataverse | 惡意攻擊 (注入) | 中 | 風險最小。 | 潛在的低風險 |
API 管理 | 服務中斷 | 低 | 外部使用者的完全中斷。 取決於 Microsoft 修復。 | 完整 |
API 管理 | 區域性中斷 | 非常低 | 外部使用者的完全中斷。 取決於 Microsoft 修復。 | 完整 |
API 管理 | DDoS 攻擊 | 中 | 潛在的中斷。 Microsoft 管理 DDoS (L3 和 L4) 保護。 | 部分中斷的可能性 |
您的 Power Platform 解決方案 | 設定錯誤 | 中 | 應在部署期間發現設定錯誤。 如果在設定更新期間發生這些情況,管理員必須復原變更。 設定更新會導致短暫的外部中斷。 | 完全中斷的可能性 |
Power Platform 簡易化
Power Platform 與 Application Insights 整合,後者是 Azure Monitor 生態系統的一部分。 您可以使用此整合來:
訂閱以接收 Application Insights 中 Dataverse 平台擷取的遙測資料,其為應用程式在 Dataverse 資料庫和模型導向應用程式中執行的診斷、效能和作業。 此遙測提供的資訊可用於診斷和疑難排解與錯誤和效能相關的問題。
將您的畫布應用程式連接到 Application Insights,以使用這些分析來診斷問題、了解使用者實際使用您的應用程式執行哪些操作、推動更好的商務決策,並提高應用程式的品質。
設定 Power Automate 遙測以流入 Application Insights。 您可以使用此遙測來監視雲端流執行,並為雲端流程執行失敗建立警示。
從 Copilot Microsoft Copilot Studio 捕獲遙測數據以在 Azure Application Insights 中使用。 您可以使用此遙測來監控發送到 Copilot 和從 Copilot 發送的記錄消息和事件、在使用者對話期間觸發的主題,以及可以從您的主題發送的自定義遙測事件。
Power Platform resources 在 Purview 合規門戶中 Microsoft 記錄活動。 大多數活動在活動開始後 24 小時內顯示。 請勿使用此資訊進行即時監控。 有關記錄 Power Platform 中活動的詳細資訊,請參閱:
- Power Apps
- Power Automate
- Copilot Studio
- Power Pages
- Power Platform 連接
- 數據丟失防護
- Power Platform 管理日誌
- Dataverse 審計
可靠性檢查清單
請參閱完整的建議集。