皆さん、こんにちは。Global Solutions事業部です。
突然ですが、皆さんはシステム構築をするときに、どんなポイントを重視していますか?
まず外せないのは、構築するシステムやアプリケーションの「機能面」だと思います(当たり前ですが・・)。「商品販売の新規チャンネルとしてオンライン販売システムを構築し、会社としての売上を向上させる」といったビジネス上のゴールを達成するために、備えていなければならないシステムの機能 ― 例えば商品をカテゴライズする、お勧めを提示する、申し込み者情報を受け付ける、などといったものです。
しかし機能面と同等に、場合によってはそれ以上に気にしなければならないのが「非機能」面です。非機能面とは一般的に、直接的な機能ではないものの、円滑なシステム運用のために設計時に考慮しておくべき一連の事項です。
システムにおいて、ビジネス目標に結びつく機能面の実装が「攻め」であるとすれば、運用やセキュリティ、コストに備えておく非機能面の実装は「守り」の部分であると言えるでしょう。
非機能面の実装は、高度な専門知識が必要ということもあり、機能面のそれよりも困難となるケースがありますが、AWSには非機能面の考慮にも有用なフレームワークが公開されています。
今回はそのAWS Well-Architected Frameworkについて取り上げてみたいと思います。
1. AWS Well-Architected Framework とは
AWSは、顧客にシステム環境を提供してきた豊富な経験から、システムの設計時に考慮するべき項目をまとめ上げた体系を公開しています。それが、AWS Well-Architected Frameworkと呼ばれるものです。2015年10月に初版が公開されて以降、10数回のバージョンアップを重ねて現在の版に至ります。(資料[1])
『このフレームワークを利用すると、安全で信頼性が高く、効率的で、費用対効果が高く、持続可能なワークロードを AWS クラウド で設計および運用するための、アーキテクチャに関するベストプラクティスを学ぶことができます。』(資料[2])
と記載されている通り、AWSが長年かけて蓄積した経験と知識から、クラウド対応システムを設計するためのベストプラクティスとして確立されたものです。
次から少し詳しく見ていきますが、個人的には、システムの構成面だけでなく、それを扱う組織の体制や文化面に踏み込んでいる箇所が多いのが興味深いと思っています。
2. フレームワークの柱(Pillars of the framework)概観
AWSの場合、6つの大項目が「柱」として定義されています。
- 運用上の優秀性 – Operational excellence
- セキュリティ – Security
- 信頼性 – Reliability
- パフォーマンス効率 – Performance efficiency
- コスト最適化 – Cost optimization
- サステナビリティ – Sustainability
それぞれの柱は何を意図したものでしょうか。AWSの公式ページには、それぞれの「設計原則」が公開されています。
具体的に何が書いてあるかはAWSの公式ページに記載されているので、ここではそのまま転記することは控え、大体どんなことが書いてあるのかを捉える為に、やや意訳を交えて概観してみたいと思います。
(下表の記載は資料[4]を基にした筆者の解釈と思ってください)
フレームワークの柱 |
説明 |
設計原則(一部) |
運用上の優秀性 |
運用を効率的・効果的に実施する |
|
セキュリティ |
データやシステムなどの資産を保護して、セキュリティを強化する |
|
信頼性 |
意図した機能を期待どおりに正しく一貫して実行するワークロードを実現する |
|
パフォーマンス効率 |
コンピューティングリソースを効率的に使用し、維持する |
|
コスト最適化 |
費用を最小限に抑え、最大限のビジネス価値を得る |
|
サステナビリティ |
環境に対する影響、特にエネルギーの消費と効率性に焦点を当てた施策 |
|
注)『ワークロードを設計するときには、ビジネスの状況に応じて各柱の間でトレードオフを行います。』(参考資料[3])とあるように、実際はビジネス上の決定により、各柱はトレードオフの関係となります。
4. 終わりに
如何でしょうか。クラウドリソースの「技術的な」観点での使用だけでなく、ワークロードとその影響を理解し、ビジネスゴールとの整合性を取り、運用面では組織を進化させ続けるなど、組織としてのマインドセットというか、習慣的なところまで踏み込んでいるのが、個人的には印象深いポイントです。
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
AWSのインフラ設計、構築、運用ついてご質問、不明点などありましたらお気軽にご連絡ください。