REL11-BP07 建構您的產品以滿足可用性目標和運作時間服務層級協議 (SLAs) - 可靠性支柱

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

REL11-BP07 建構您的產品以滿足可用性目標和運作時間服務層級協議 (SLAs)

建構您的產品,以符合可用性目標和運作時間服務層級協議 (SLAs)。如果您發佈或私下同意可用性目標或運作時間 SLAs,請確認您的架構和操作程序是設計來支援這些目標。

預期結果:每個應用程式都有一個已定義的可用性和SLA效能指標目標,可以監控和維護這些指標,以滿足業務結果。

常見的反模式:

  • 設計和部署工作負載,而不設定任何 SLAs。

  • SLA 指標設定過高,沒有理由或業務需求。

  • 在SLAs未考量相依性及其基礎 的情況下進行設定SLA。

  • 建立應用程式設計而未考慮彈性的共同責任模型。

建立此最佳實務的優勢:根據關鍵彈性目標設計應用程式,可協助您達成業務目標和客戶期望。這些目標可協助推動應用程式設計程序,評估不同的技術和考慮各種權衡。

未建立此最佳實務時的曝險等級:

實作指引

應用程式設計必須將多元的要求納入考慮,這些要求是從業務、營運和財務目標衍生而來。在營運要求內,工作負載必須有特定彈性指標目標,才能適當地監控和支援。彈性指標不應該在部署工作負載之後設定或衍生。它們應該在設計階段期間定義,協助引導各種決策和權衡。

  • 每個工作負載都應該有自己的一組彈性指標。這些指標可能與其他業務應用程式不同。

  • 降低相依性對可用性有正面影響。每個工作負載都應考慮其相依性及其 SLAs。一般而言,選取可用性目標等於或大於工作負載目標的相依性。

  • 請考慮鬆散耦合設計,讓您的工作負載在可行時不論是否有相依性受損,都可以正確操作。

  • 減少控制平面相依性,特別是復原或降級期間。評估針對任務關鍵性工作負載靜態穩定的設計。使用資源節省來增加工作負載中這些相依性的可用性。

  • 透過SLAs減少平均偵測時間 (MTTD) 和平均修復時間 (),可觀測性和儀表對於實現至關重要MTTR。

  • 較不頻繁的故障 (較長的 )MTBF、較短的故障偵測時間 (較短的 MTTD) 和較短的維修時間 (較短的 MTTR) 是用來改善分散式系統可用性的三個因素。

  • 建立和符合工作負載的彈性指標,是任何有效設計的基礎。這些設計必須考慮到設計複雜性、服務相依性、效能、擴展和成本的權衡。

實作步驟

  • 請考慮下列問題,檢閱和記載工作負載設計:

    • 控制平面用於工作負載的哪個地方?

    • 工作負載如何實作容錯能力?

    • 擴展、自動擴展、備援和高可用性元件的設計模式是什麼?

    • 資料一致性和可用性的要求是什麼?

    • 資源節省或資源靜態穩定性是否有任何考慮?

    • 服務相依性是什麼?

  • 在與利益相關者合作時,根據工作負載架構定義SLA指標。考慮工作負載使用SLAs的所有相依性。

  • 設定SLA目標後,請最佳化架構以符合 SLA。

  • 設定將符合 的設計後SLA,請實作操作變更、程序自動化和 Runbook,這些也會專注於減少 MTTD和 MTTR。

  • 部署後,請在 上監控和報告 SLA。

資源

相關的最佳實務:

相關文件:

相關服務: