摘要
Contoso Shoe 是一家線上鞋店,想要在即將推出的期間具有高可用性。 他們已在兩年前將其內部部署移轉至雲端,並經由採用 OpEx 模型而受惠。 在過去六個月內,他們遇到可用性問題,操作員無法快速針對問題進行疑難排解。 組織現在想要投資讓工作負載成為任務關鍵性,並著重於增強系統的整體可靠性和可檢視性。
在先前的架構中,應用程式已部署在單一區域中,而且無法承受區域性中斷。 Azure App Service 和外部監視工具沒有辦法檢查應用程式本身的健康情況狀態。 此落差導致流量路由傳送至狀況不良的 App Service 執行個體,進而導致要求失敗。 小組無法看到因 API 元件影響其平台相依性所造成問題的級聯影響。
完成這項挑戰,您便已在高層級探索任務關鍵性設計。 您已透過練習來應用學習,以符合 Contoso 的需求。
經過改良的設計可使用健康情況模型偵測一或多個元件的效能降低。 SRE 小組現在可在問題導致完全中斷之前,快速找出並解決問題。 解決方案現在已部署在主動-主動模型中的多個區域,其可承受完全的區域失敗,同時提供其作業員的更多系統健康情況深入解析。 Contoso 也在地理位置更接近客戶的區域中,更快速地為用戶端提供服務,進而改善其客戶體驗。
恭喜您完成此挑戰專案。 您已驗證您在下列方面的技能;分析現有的範例解決方案,以及設計經過改良的架構。
建議的後續步驟
您已完成的練習是絕佳的起點,但不會涵蓋任務關鍵性工作負載的所有層面。 繼續探索架構完善的任務關鍵性工作負載中所提供的設計原則和區域。 我們建議這些關鍵價值區域:
持續驗證和測試
您必須完整驗證應用程式程式碼和基礎結構的健康情況。 範圍必須涵蓋可靠性、效能、可用性、安全性、品質及規模的需求集。
深入了解:持續驗證和測試
使用多個應用程式環境
強烈建議開發/測試環境不應該與生產環境共用資源。 每個環境都有自己的可靠性、容量和安全性需求。 您可以在此架構中識別跨環境共用的服務嗎? 您要如何變更設計以符合這項建議?
深入了解:應用程式環境
展開的部署環境
任務關鍵性系統需要嚴格的發行前測試和穩固的軟體開發生命週期 (SDLC) 做法。 使用多個與預備和生產環境更緊密貼近的暫時環境,而不使用單一共用開發環境。 您應該使用專用的預備環境來進行負載和效能測試、混沌測試、使用者驗收測試 (UAT) 和安全性測試。
深入了解:暫時藍色/綠色部署
使用訊息代理程式新增復原能力
介紹訊息代理程式,以協助處理需要與多個端點協調的複雜交易。 要求可以排入佇列進行處理,而不會因為單一元件失敗而承受銷售損失的風險。
深入了解:鬆散耦合的事件驅動架構
深入了解
如需在 Azure 上設計解決方案的詳細資訊,請參閱 Azure Well-Architected Framework 指南。
在 Azure 架構中心探索這些參考架構,作為擴充設計的方法: