DWSのWell-Architectedレビュー
こんにちは。SREチームの土居です。
今回は弊社が実施している「AWS Well-Architected Framework」を活用した活動につきまして、
以前にご紹介しました国本の記事AWS Well-Architected フレームワーク 勉強会に続き、実際にお客様のワークロード(※1)に対してどのようにレビュー・改善に取り組んでいるかをご紹介いたします。
※1 ワークロード: リソースと、ビジネス価値をもたらすコード (顧客向けアプリケーションやバックエンドプロセスなど) の集まりのこと
Well-Architected 活動の時間
SREチームでは、毎日1時間のWell-Architected活動の時間を設けており、後述のレビュー、改善(レビューで発見されたリスクのある問題の解決)を実施しています。
Well-Architected レビュー
レビューでは、Well-Architected Frameworkの6本の柱
に基づき、様々な観点からワークロードの現在のリスクを洗い出します。
それぞれの柱には10個前後の質問があり、さらに1つの質問に対して5個前後のベストプラクティスがあります。レビュー対象のワークロードにおいてそれらのベストプラクティスが実践されているかどうかをチェックしていきます。
質問に対する各ベストプラクティスは同列ではなく段階を追って求められるレベルが上がってくるものが多いです。まずリスクについて認識できているか、といったところから始まり、最終的にはリスクに対処する何らかの自動的な仕組みが構築できているか?といった具合です。
例えば:
REL 1(信頼性の柱1): サービスクォータと制約はどのように管理しますか?
ベストプラクティス
- サービスクォータと制約を認識する
- アカウントおよびリージョンをまたいでサービスクォータを管理する
- アーキテクチャを通じて、固定サービスクォータと制約に対応する
- クォータをモニタリングおよび管理する
- クォータ管理を自動化する
各ベストプラクティスに対して改善計画として具体的な対処例が紹介されています。特定のAWSマネージドサービスの利用が紹介されているものはわかりやすいですが、ワークロードの性質によって千差万別なリスクに関するものついては、抽象的な説明に留まっているものも多いです。そのようなベストプラクティスのレビューは、「改善計画で示されているものは具体的にどのような手法が考えられるのか?」、「レビュー対象のワークロードの場合はどのような対処方法が考えられるか?」といったチームでの意見交換が盛り上がります。
ある程度意見がまとまったら、Well-Architected Tool へレビュー結果を反映します。
このワークロードでは実践できている。と判断したベストプラクティスのチェックボックスをチェックしていきますが、そうでないものは未チェックとし、なぜ実践できていないと判断したのかをメモ欄に記載して保存しています。
HRI(高リスクの問題)の解決
全ての柱のレビューが完了したら、Well-Architected Toolに柱ごとのリスクありと判断された質問が一覧されます。中でも高リスクと表示されているものは、ベストプラクティスのうち基本的な段階のものにチェックが付いていない場合に判定され、改善の優先度が高いことを示しています。
改善方法はワークロードによって様々な方法が考えられます。この段階でタスクとしてチケット化し、チームで具体的な実装方法を議論・実施していきます。
このとき、異なるお客様/ワークロードでも似た様なリスクを抱えていることはよくあるため、横展開できる改善方法についても検討できるとより良いと思います。
初回レビューの状態から改善を実施し、未チェックであった対象のベストプラクティスをチェックしたら、Well-Architected Toolのマイルストーンを記録します。
これから
まずはWell-Architected Frameworkの各柱の質問を実際のワークロードに照らしながら理解し、Well-Architectedレビュー→Well-Architected Toolの利用方法を覚える。といった目的でチーム全員でワークロードのレビューを実施してきました。
次第に少人数、かつスピードアップしたレビューを実施できるようにしていきたいと思います。(それにはDWS内でWell-Architected Leadの人数を増やしていく必要があり、私はまだ保持していないため資格を取得しなければならないのですが、前提となるSAPが失効してしまっていたため再取得に向け勉強中です。。!)
そして、今以上にお客様を巻き込んだWell-Architected レビューを実施していきたいとも考えています。
まとめ
いかがでしたでしょうか? まだやり方を探っている部分も多いDWSのWell-Architected活動ですが、これから長く取り組んでいくことになると思いますので、試行錯誤しながらワークロードに価値のあるアプローチを提供できるように精進していきたいと思います。