AWS Well-Architected Frameworkを概観する

– 非機能要件の拠り所として
2023年9月4日- By Hiromasa Chigusa

皆さん、こんにちは。
突然ですが、皆さんはシステム構築をするときに、どんなポイントを重視していますか?

まず外せないのは、構築するシステムやアプリケーションの「機能面」だと思います(当たり前ですが・・)。「商品販売の新規チャンネルとしてオンライン販売システムを構築し、会社としての売上を向上させる」といったビジネス上のゴールを達成するために、備えていなければならないシステムの機能 ― 例えば商品をカテゴライズする、お勧めを提示する、申し込み者情報を受け付ける、などといったものです。

しかし機能面と同等に、場合によってはそれ以上に気にしなければならないのが「非機能」面です。非機能面とは一般的に、直接的な機能ではないものの、円滑なシステム運用のために設計時に考慮しておくべき一連の事項です。

システムにおいて、ビジネス目標に結びつく機能面の実装が「攻め」であるとすれば、運用やセキュリティ、コストに備えておく非機能面の実装は「守り」の部分であると言えるでしょう。

非機能面の実装は、高度な専門知識が必要ということもあり、機能面のそれよりも困難となるケースがありますが、AWSには非機能面の考慮にも有用なフレームワークが公開されています。
今回はそのAWS Well-Architected Frameworkについて取り上げてみたいと思います。

 

 

AWS Well-Architected Framework とは

AWSは、顧客にシステム環境を提供してきた豊富な経験から、システムの設計時に考慮するべき項目をまとめ上げた体系を公開しています。それが、AWS Well-Architected Frameworkと呼ばれるものです。2015年10月に初版が公開されて以降、10数回のバージョンアップを重ねて現在の版に至ります。(資料[1])

『このフレームワークを利用すると、安全で信頼性が高く、効率的で、費用対効果が高く、持続可能なワークロードを AWS クラウド で設計および運用するための、アーキテクチャに関するベストプラクティスを学ぶことができます。』(資料[2])と記載されている通り、AWSが長年かけて蓄積した経験と知識から、クラウド対応システムを設計するためのベストプラクティスとして確立されたものです。

次から少し詳しく見ていきますが、個人的には、システムの構成面だけでなく、それを扱う組織の体制や文化面に踏み込んでいる箇所が多いのが興味深いと思っています。

 

フレームワークの柱(Pillars of the framework)概観

AWSの場合、6つの大項目が「柱」として定義されています。

  • 運用上の優秀性 – Operational excellence
  • セキュリティ – Security
  • 信頼性 – Reliability
  • パフォーマンス効率 – Performance efficiency
  • コスト最適化 – Cost optimization
  • サステナビリティ – Sustainability

それぞれの柱は何を意図したものでしょうか。AWSの公式ページには、それぞれの「設計原則」が公開されています。
具体的に何が書いてあるかはAWSの公式ページに記載されているので、ここではそのまま転記することは控え、大体どんなことが書いてあるのかを捉える為に、やや意訳を交えて概観してみたいと思います。
(下表の記載は資料[4]を基にした筆者の解釈と思ってください)

フレームワークの柱

説明

設計原則(一部)

運用上の優秀性

運用を効率的・効果的に実施する

·  運用手順をコード化して自動化する

·  変更は戻せる範囲の小さいものを頻繁に

·  運用手順を継続してシミュレーションし、見直し、改善し続ける

·  障害発生時は、そのとき得られたナレッジをフルに活用する

セキュリティ

データやシステムなどの資産を保護して、セキュリティを強化する

·  適切な権限設定をする

·  あらゆるアクションを追跡する

·  データは暗号化する

·  データに触れるときはツールを使う

·  インシデント発生時に備えてシミュレーションを行う

信頼性

意図した機能を期待どおりに正しく一貫して実行するワークロードを実現する

·  障害検知や復旧は自動化する

·  リソースは動的に追加削除する

·  障害復旧のシミュレーションを実施する

·  インフラの変更はオートメーションで管理する

パフォーマンス効率

コンピューティングリソースを効率的に使用し、維持する

·  適切なリージョンやサーバレス環境を活用する

·  クラウドの特性を理解し、比較テストを行う

コスト最適化

費用を最小限に抑え、最大限のビジネス価値を得る

·  費用を分析し利用元を把握する

·  使った分だけ支払う

·  コスト効率を測定する

サステナビリティ

環境に対する影響、特にエネルギーの消費と効率性に焦点を当てた施策

·  ワークロードがもたらす影響を理解する

·  長期の目標を設定する

·  使用率を最大化する

·  リソース使用率を最大化する

·  マネージドサービスを利用する

·  新製品の評価を行う

注)『ワークロードを設計するときには、ビジネスの状況に応じて各柱の間でトレードオフを行います。』(参考資料[3])とあるように、実際はビジネス上の決定により、各柱はトレードオフの関係となります。

終わりに

如何でしょうか。クラウドリソースの「技術的な」観点での使用だけでなく、ワークロードとその影響を理解し、ビジネスゴールとの整合性を取り、運用面では組織を進化させ続けるなど、組織としてのマインドセットというか、習慣的なところまで踏み込んでいるのが、個人的には印象深いポイントです。

AWS Well-Architected FrameworkをAWS環境に効果的に適用することで、AWSの利用を最大化・最適化することに繋がり、ビジネス上の大きな利点となるでしょう。

 

参考文献

[1] https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/framework/document-revisions.html

[2] https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/framework/welcome.html

[3] https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/framework/definitions.html

[4] https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/framework/the-pillars-of-the-framework.html

Rackspaceについて

Rackspace Technologyの日本国内サービスは、アイレット株式会社Global Solutions事業部より提供させていただきます。

Amazon AWSとMicrosoft Azureの導入検討のコンサルティング(勉強会)から構築、運用・保守までワンストップのクラウド支援サービスです。

お客様のご要望に柔軟に対応いたしますので、まずはお気軽にご相談ください。