如何執行 Well-Architected Framework Review - 架構改善
成功進行架構良好的框架審查 (Well-Architected Framework Review – WAFR) 需經過完整的三個階段:準備階段、評核審查和架構改善。前文「如何執行 Well-Architected Framework Review:準備階段」及「如何執行 Well-Architected Framework Review:評核審查」分別詳述了前兩個階段,本文將深入探討第三階段:架構改善。


什麼是改進階段 - 架構改善?
在根據 AWS 最佳實踐審查工作負載的架構時,您應該已經按照我們之前所討論的評核審查做了必要的準備,並按照這些建議實地的執行了評核審查。因此,您應該根據在審查期間收集的答案,識別出系統架構中的潛在風險。我們將這些風險稱為高風險問題(HRI)和中等風險問題(MRI)。在改進階段,您將開始設計並實施改進計劃,意味著列出這些中高風險項目的清單,瞭解它們對業務的影響,尋找解決方案。最後,根據組織的優先順序實施這些解決方案。
改進階段的循環週期
下圖用一個循環週期來示意 WAFR 在改進階段中包含的五個主要步驟:識別潛在風險、了解風險、確定解決方案、決定優先級、實施與追蹤。我們將深入探討每個步驟的細節。

1. 識別風險 [預計花費時間:1 天以內]
WAFR 在進行的過程中,為了讓團隊理解實作與最佳實踐不一致可能的潛在風險,便定義了兩個風險層級:高風險問題 (HRI) 和中度風險問題 (MRI)。高風險問題 (HRI) 是可能對業務造成重大負面影響的架構設計或運維方法。它們可能會影響組織運營、資產和個人層面。以安全支柱 (Security Pillar) 上的一個高風險問題的例子, 如果沒有安全地操作 AWS 帳戶,很有可能因未授權 (Unauthorized) 的惡意行為而蒙受損失。中度風險問題也可能對您的業務產生負面影響,但程度較低 (例如∶不會立即造成服務中斷,但中長期可能會有安全性隱憂、造成效能低下或甚至產生過多不必要的費用支出 。又例如在安全性來說,團隊並未定期稽核和替換系統憑証 (Certificate) 就是中度風險項目,但長期來說有可能會有憑証過期或是將效期設定太長等風險。
產出風險項目 (HRI/MRI) 報告
要能夠明確識別風險項目 (HRI/MRI) 的方法,第一步是即是利用 AWS WA 工具 (AWS Well-Architected Tool) 提供的報告,檢視您在評核審查的過程中,對於工作負載內識別出的每一個風險項目。經由 AWS控制面板 操作 AWS WA 工具,即可以列出工作負載中的風險項目。AWS WA 工具可以讓您在不同帳號之間分享評核審查的報告,所有您分享共用的工作負載報告也能經由控制面板來存取。
下圖顯示了工作負載在不同支柱內被識別出的風險項目,依照不同的顏色來作標示區分。

在操作面板中也有高中度風險項目的細部清單,如圖 4。我們可以依照支柱分類或風險嚴重性進行篩選。圖中的列表是可靠性支柱 (Reliability Pillar) 上找到的風險項目清單。其中詳列了改進項目 (Improvement Item),代表目前在架構上可以修改或增加以符合最佳實踐的細項。點選其鏈結則會開啟相關的最佳實踐頁面。從那裡,我們可以閱讀有關修復問題所需的建議操作以及必要的資源。

如同上述,AWS WA 工具可以將所有發現合併產生一份報告 (為 pdf 格式),您可以從 WA 工具儀錶板中,選取該工作負載,並在頁面上點選 ”生成報告 (Generate Report)”。

我們建議評核審查的主持人與組織中的所有審閱團隊共用分享此報告。我們通常會向客戶以及相關團隊發送一封回顧電子郵件,總結我們所做的工作、主要發現和建議的改進計劃,以便他們為下一步做好準備。
2. 了解風險 [預計花進時間:2 - 3 週]
在解決風險之前,重要的是要瞭解其潛在的嚴重性和對業務的影響、它為您的組織帶來的價值以及您的團隊為實施改進所做的努力。
根據風險項目清單,進而評估對服務產生的風險。請試著考慮以下問題:
- 風險發生的可能性有多大?進而造成影響的有多大?
- 對客戶有何影響?
- 如果真的發生,會對業務產生什麼影響?
- 風險項目是可以完全消除的,還是只能儘量減低可能的傷害?
- 誰是該風險項目對應的負責人?
- 誰要負責對該風險項目進行改善工作?
如果能夠讓關鍵利益相關者或企業主回答這些問題,將有助於創建一份由組織最高層級的風險清單,而且是從組織的商業目標出發。然後,最優先關注這些風險項目,並且釐清解決這些問題所需要的時間。
下圖是數個完整的範例,經由評核審查在不同的支柱中識別了數個風險項目,並且詳細的紀載了造成高風險的原因。經由討論了解風險項目,從系列中列出的內容,來理解在組織團隊中可能造成的影響,不論是對商業目標上、或是對團隊營運上。當我們明確理解到風險項目可能的影響範圍後,即可以開始規劃相對應的改善措施或解決方案。

3. 確定解決方案 [預計花費時間:4 - 5 週]
在組織上下文中了解風險和改進機會後,您需要與團隊合作,確定針對解決風險的正確規範性解決方案。在此階段,每個團隊都需要處理在其管轄範圍內的發現,並確定符合規範性解決方案。此步驟可能需要額外的研究、討論或實作概念性驗証 (Prove of Concept – PoC)。在此階段,不要急著投入到解決方案的實現細節,這一點很重要。如果您決定將有問題的高風險項目作為接下來的高優先事項,我們會在下一步介紹系統性的優先級評比方法。目前需要的是瞭解每一解決方案的複雜性及其所需的資源,而所謂資源包括了所需的時間、人力、可能產生的預算、甚至是商業上因為專案推遲而產生的額外費用。當所有細節都完整列出後,便能在步驟 4 中生成優先順序清單作為參考。

4. 決定優先級 [預計花費時間:1 週以內]
當我們已經明確列出了風險項目,要如何確定要實施的最重要專案的優先順序?參照詳列的風險及所需的資源,可以用數據驅動的方式作為決定的參考。當我們有明確的解決方案時,便可以知道此方案是易於實現與否。畢竟,在團隊討論中如果有不同的團隊參與其中,如果沒有數據佐証,彼此對於優先級的認知會有極大的不同。

利用數據且圖型化、可視化來評比優先順序的一種工具是艾森豪威爾風格的繪圖。該工具有不同的使用方式。在評估時,請考慮改進的重要性,即它為您的業務帶來了多少價值;以及實施改進項目所需的資源,也就是時間、實施的複雜性或員工人數。進行分析後,我們 將目前對業務影響最大的風險依序的填入到模型圖當中。下圖的例子便是我們對於 REL1、COST1 和 OPS4 三個風險項目,在填入優先級模型之後的結果。

5. 實施和追蹤 [預計花費時間:3 - 6 個月]
沒有一個組織擁有無限的時間和資源。若試圖一次解決所有的風險項目是不實際的,也可能不是充分利用 WAFR 的正確方法。我們建議客戶從特定數量的風險項目開始做起,而且要選擇那些對業務影響很大,而且實施起來並不難的項目作為開始。決定了之後即實做改善解決方案並且跟蹤改進情況,然後進入下一個改善週期,接續著處理其他的風險項目。
解決方案特徵
為已識別的風險選擇解決方案時,請考慮以下事項:
- S.M.A.R.T:從 SMART 的角度考慮解決方案, 一個好的解決方案應該有具體的結果,應該是明確的 (Specific)、可被量測的 (Measurable)、可達成的 (Achievable)、相關的 (Relevant) 而且是有限時間內的 (Time-bounded)。
- 擁有者:對於每個解決方案,請確定一個擁有者。
- 簡單而不複雜:複雜的解決方案可以工作,但它們使改進更難、更持久。終究要選擇簡單的解法而不是把問題複雜化。
- 雙向門 (Two-way-door) 解決方案:解決方案應該是可擴展的、可逆的、可隨著時間的推移而改進與調整。如果可能,請避免使用無法適應體系結構發展的靜態解決方案。
- 基於現有模式 (Pattern-Based):要選擇可以被可編碼、重用和重新共享的解決方案。不要重新發明輪子。查看此處的一些示例。
時間軸
您可能會問:完成這些步驟的典型時程表是什麼?對此沒有一個答案。每個組織都是不同的,都有其獨特的挑戰。但是,從我從許多客戶的成功 WARF 中看到的情況來看,我建議此階段需要 90-180 天。如果您的 HRI / MRI 清單需要更長的時間,我建議您優先考慮它們並提出一個較短的清單,以便您可以開始練習該過程以獲得一些改進。然後,您可以對其餘項目重複此操作。
總結
本文中,我們為您介紹了制定改善計劃需要採取的步驟,主要還是為了以解決在評核過程中列出的風險項目。在制定任何架構的改善計劃之前,我們都建議詳細瞭解和分析風險,確定風險的優先順序,進而確定解決方案;針對影響層面較高、且所需資源較低的項目優先進行。
文中也分享 AWS Well-Architected Tool 和相關資源來説明您實現這一目標。您可以經由使用 AWS WA Tool 提供的知識來評估工作負載的運行狀況。如需後續協助或意見,歡迎向 AWS 業務與架構團隊洽詢,或加入我們的線上技術社群 AWS re:Post。

作者

Jun-Tin (Bob) Yeh
Bob Yeh 目前服務於 AWS Cloud Optimization Success 團隊亞太區的專職架構師,協助客戶 Cloud Optimization、Well-Architected Framework、TrustedAdvisor、DevOps 及相關議題改善。
Jun-Tin (Bob) Yeh, a Cloud Optimization Success SA. He enjoys working with customer to evolve their architecture in fast pace, also dive deep into any Cloud Optimization, Well-Architected and DevOps related subject for better user cloud experiences.

Ian Lin
Ian Lin 目前服務於 Amazon Web Services 的解決方案架構師,對邊緣網路服務和安全解決方案以及客戶成功充滿熱情。 Ian 與遊戲和娛樂產業客戶合作,幫助他們設計和建構安全且可擴展的解決方案,以實現業務成果。
Ian Lin, is an Account Solutions Architect with Amazon Web Services, with a passion for edge networking and security solutions and customer success. Ian works with game & entertainment customers to help them design and build secure, and scalable solutions to achieve their business outcomes.

Jayson Hsieh