如何執行 Well-Architected Framework Review - 評核審查
成功進行架構良好的框架審查 (Well-Architected Framework Review - WAFR) 需經過完整三個階段:準備階段、評核審查和架構改善。在前一篇技術分享「如何執行 Well-Architected Framework Review:準備階段」中,我們討論在準備階段所需的相關細節。在本文中,我們將深入探討評核審查的最佳實踐,帶您了解在審查討論的過程中應該如何正確的執行。
假設您遵循了準備階段的建議,此時您應該已經確定了要審查的工作負載 (Workload) 範圍,確定了主辦者 (Sponsor)、支柱主答人 (Pillar Sponsors),決定了要審查的支柱
(Pillars) 及其優先順序,決定了使用什麼聚焦 (Lens) 和審查會議的形式。當然,您應該已經備妥有關工作負載的必要資訊用來進行下一階段 -- 執行評核審查。
執行 WAFR 的目標
在我們深入研究如何執行 WARF 的最佳實踐之前,重要的是要回顧 WAFR 的最終目的是使系統架構設計與組織的目標方向一致、改善工作流程與相關細節,使得系統能夠更好地支持業務需求。在進行架構改善的過程,首先需要將當前的架構設計與最佳實踐進行比較。試著通過評核討論找出最符合現況的描述,在適當的時間點將評核的結果註記為里程碑 (Milestone),用來紀錄工作負載對該時間點的狀態。根據在評核過程中的每一個問題以及實作建議,我們可以進一步確定需要改進的細節。當下的實作狀態若不符合最佳實踐的建議,會依照潛在的風險對系統產生的負面景響,被標註為高風險問題 (High Risk Issue – HRI) 或中度風險問題 (Medium Risk Issue – MRI)。在評核完成並且註記里程碑後,我們則將重心放在制定補救修復 (Remediation) 措施,並基於風險高低、依優先順序泯除系統可能發生的潛在風險。
執行 WAFR 的最佳實踐
1. 設定期望
WAFR的順利與否會取決於所有參與者的對於此一評核流程的承諾 (Commitment)。花點時間提前與主要利益相關者進行對話,以便他們在評核審查前、進行期間和討論之後 (改善修復期間) 都能明確理解其自身的角色及重要性。確保您能夠在進行的過程中得到正確的支持與資源。
2. 是創造組織內的對話、而不是稽核
從 WAFR 會議中看到的最佳結果是,利益相關者將它們視為對話,而不是清單式(Check-list) 評分練習,亦不是法條式的稽核 (Audit)。WAFR 鼓勵所有團隊成員從不同的面向公開談論他們的系統,他們不會因為實作方法未依照最佳實踐而受到指責,因為最佳實踐是基於常見場景的建議,實作方法最終還需要符合組織因時因地而有所調整。由不同團隊從自身角度提出意見進行討論,也有助於在交互討論中檢視架構的潛在風險。
3. 團隊運動
團隊中的每個人都應該發揮作用。例如,支柱主答人應確保正確回答所有相關問題。主辦人應對風險的改進計劃 (Remediation Plan) 有決定權。當我們進行到下一階段時要針對風險項目進行改善時,主辦人有決定權則會相當重要。不同的團隊需要參與討論,並且為已識別的風險找到解決方案決定優先順序。最終我們會下一篇第三階段:改善架構進行深入的討論。
4. 週期性且持續進行,不只是一次的型式
在系統服務隨著產品研發週期進行更新,會發現事情總是在變化,使得相關的細節應該固定檢視 – 例如市場需求、使用者偏好、功能細節等。在組織團隊中應該要有一個定期的評核,用以定期執行 WAFR 或是使用自定義聚焦評核 (Custom Lens Review),使得系統服務及相關團隊都能適時的註記工作負載生命週期的重要里程碑,作為長期的紀錄參考。例如:從測試階段到正式上線中的每一個相對應時間段,功能的細節與相對應的風險狀態,都有助於技術與商業上的調整。
5. 越早越好
WAFR 雖然命名為 Review “回顧”,但並不僅限於設計完成之後才能施行。當在產品、系統、服務仍處於設計階段而不是最終的生產階段 (Production) 時,更容易影響決策並推動更改。
6. 使用 AWS WA工具(AWS Well-Architected Tool)
WAFR 的問題與實作細節,目前在 AWS 官方頁面上是以白皮書的形式提供詳細說明。但是,我們建議客戶直接在實作討論的過程中,直接在 AWS 帳號管理介面中使用 “AWS Well-Architected Tool” 進行操作。使用 AWS WA 工具能夠協助追蹤問題、將討論的細節儲存為註記、並創建不同的里程碑用來對應時間。所有留下的資訊都能助於了解審查當下遇到問題的前因後果、並瞭解當下正在驗證的最佳實踐。而每個題目也會詳細提供參考資料,例如技術文章、re:Invent 演講或相關最佳實踐。
“註記 (Notes)”
在評核審查階段,主持人務必善用 AWS WA 工具留存必要的細節註記 (Notes),用以解釋目前實作細節是否已經符合最佳實踐。如果該項目已經符合最佳實踐,則在問題中的複選框勾選。如果沒有,請在註釋區域中做筆記且解釋為什麼尚未實現。最好是能夠用文字描述目前的設計是否在組織規劃的方向上或是否與其他要求衝突,亦或只是團隊事先並不理解最佳實踐的建議。這些問題的答案將有助於團隊稍後制定改進計劃。用文字紀錄的好處是可以分享給其細節給其他審閱者或是未來的協作成員,因為團隊和擁有者都有可能會發生變化。
“里程碑 (Milestone)”
里程碑記錄工作負載在特定時間點的狀態,同時也可以用來追蹤系統演化的紀錄。當團隊同時進行多個會話或處理改進專案時,保存里程碑以衡量進度也有助於協作效率。
7. 最大化時間
WAFR 應該要有效簡潔在幾小時內完成,而不是幾天。為了保持評審過程簡潔,請務必在提出問題以驗證最佳實踐與確保問題與系統上下文 (Context) 一致之間保持平衡,而無需在深入的技術討論上花費太多時間。例如,監測 (Monitoring) 是我們在所有六個支柱中提出的一個主題。但上下文將因支柱而異,舉例來說在卓越運營支柱 (Operational Excellence),監視是通過建立指標和 KPI 來瞭解可觀察性和瞭解工作負載的運行狀況,重點在 KPI 定義與執行。在安全 (Security) 支柱中,監視上下文將更多注重於環境稽核、追蹤惡意活動、分析未經授權 (Unauthorized) 的行為等。
另一個注意事項是避免在審查期間深入進行技術討論,像是直接進入服務的配置詳細資訊。請避免跳入解決方案部分,因為在審查期間您可能沒有足夠的時間和必要的細節來現場推薦正確的解決方案。遇到相關提問會建議先做記錄並跟進此主題,作為改進階段的一部分,我們將在第 3 部分看到。
8. 因時因地制宜、動態調整
某些情況下,團隊不確定是否實施了最佳實踐。在這種情況下,您需要考慮未實施的最佳實踐,並將其記錄在 WA 工具的註釋中。這樣,您可以將解決方案 (或更多驗證) 作為改進階段的一部分作為後續工作包括在內。
9. 作出明確的決定 (Make informed Decision)
系統實作的過程中,很有可能因為組織的商業目標、市場需求或是內部因素,明確決定略過最佳實踐的建議方法;則主辦人會需要在評核過程中明確指出可能引發的潛在風險 (Potential Risk),並且要能夠提出會被影響的範圍供參考,且註記在評核紀錄中。例如在短期的市場活動中 (Marketing Campaign),因為成本考量而選擇使用單一可用區 (Single AZ),則應該明確提出可能的可靠性風險以及後備方案。
10. 根據需要進行擴展和自動化
對於具有許多工作負載的大型組織,請考慮構建自動化且可縮放的流程來查看工作負載、識別風險並修正它們。以下是有關如何將 WAFR 集成組織中的幾個範例。您可以根據組織進行調整並利用這些解決方案。
- AWS Blog: 使用 AWS Trusted Advisor insights 加速 WAFR
- AWS Workshop Studio: 使用 AWS WA Tool API 建置客製化報表 Build custom reports of AWS Well-Architected Reviews (Lab)
- AWS re:Invent 2022: Scaling AWS Well-Architected Reviews through the enterprise 建立標準化且居延展性的內部規範,用來評核工作負載並產出運行狀況報告。
- AWS re:Invent 2022: 使用 Trusted Advisor 與AWS Well-Architected Tool 有效的進行雲端環境最佳化
11. 自定義聚焦問題集
使用 AWS WA 工具還可以幫助您建立自定義聚焦問題集 (Custom Lens)。使用自定義聚焦,您可以創建自己的支柱、問題和最佳實踐。您可以自定義符合專案規格、內部規範、組織流程的條文內容,這有助於滿足組織內的管理需求、或是符合專案客戶種類的規格需要。
總結
在這篇技術文章中,我們深入探討了架構良好的框架審查的第二階段:評核審查。我們分享了許多不同行業的客戶經驗,從過去執行 WAFR 中總結出的最佳實踐方法。 WAFR 的最終目標是經由評核討論的過程識別出架構設計中的潛在風險,並有效將其消除。為此,您首先需要根據 AWS 最佳實踐逐一檢視工作負載架構的設計及運行方式。運行 WAFR 時,需要遵循一些建議和避免踏入錯誤方式 (Anti-pattern)。評核審查必須是互動對話式的、透明誠實的、有記錄的,並在幾天而不是幾周內完成。如果對多個工作負載運行評審,則需要根據最適合團隊組織的方式來作延展與分散。我們分享了來自我們的 SA 和客戶的一些資源,向您展示了如何執行此操作的範例。識別出風險後,您需要創建一個改進計劃來解決它們。第三階段∶改善架構則會詳細介紹如何識別架構風險、並制定針對這些風險的改善計劃。
本文所提及的 AWS Well-Architected Framework Review (WAFR),主要會需要操作 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.
HC Lo
HC Lo 任職於台灣 AWS 的解決方案架構師,主要關注於容器、無伺服器和 Well-Architected 的實踐和改善。致力於透過系統化的方法論提供適合的解決方案,幫助客戶實現其戰略業務目標。
HC Lo is a Solutions Architect at AWS Taiwan, focusing on the practice and improvement of containers, serverless and Well-Architected. He is committed to providing suitable solutions systematically to help clients achieve their strategic business goals.
Shih-Yong Wang
Shih-Yong Wang 作為 Amazon Web Services 的資深解決方案架構師,幫助來自不同地區或行業的客戶通過遷移到雲來實現其業務價值。也為創新創造了巨大的機會。
Shih-Yong Wang, as a senior Solutions Architect for Amazon Web Services, helps customer from different territories or industries to deliver their business value by moving to the cloud. Also creates enormous opportunities for innovation.