[レポート] Architectural best practices throughout the lifecycle #ARC206 #AWSreInvent
[レポート] Architectural best practices throughout the lifecycle #ARC206 #AWSreInvent
はじめに
こんにちは、リテールアプリ共創部の塚本です。
AWS re:Invent 2024で行われた『Architectural best practices throughout the lifecycle』に参加しましたので、そのレポートをお届けします。
全文の内容ではなく、要点をまとめたものになります。
セッション情報
- セッションID: ARC206
- タイトル: Architectural best practices throughout the lifecycle
- スピーカー:
- Geoffroy Renaud(Cloud Principal Architect, ACCOR SA)
- Charles Rapp(Solutions Architect, Amazon Web Services)
- Bradley Acar(Head of Cloud Optimization Solutions Architecture, AWS)
- レベル: 200
セッション概要
In this session, learn how to integrate architectural best practices at every stage of your workload's lifecycle. Explore the AWS Well-Architected Framework, including the AWS Well-Architected Tool, which helps customers discover and implement best practices around operational excellence, security, reliability, performance, cost optimization, and sustainability. Further, learn how to integrate AWS Trusted Advisor to continuously monitor your workloads for adherence to best practices. Finally, learn how to integrate with AWS Health to improve your incident detection time and application resilience. This session holds appeal for architects, CCoE leaders, and builders.
日本語:
このセッションでは、ワークロードのライフサイクルの各段階でアーキテクチャのベストプラクティスを統合する方法について学びます。AWS Well-Architected Frameworkとそのツールについて探求し、運用の優秀性、セキュリティ、信頼性、パフォーマンス、コスト最適化、持続可能性に関するベストプラクティスの発見と実装を支援する方法を学びます。さらに、AWS Trusted Advisorを統合してワークロードのベストプラクティスへの準拠を継続的に監視する方法や、AWS Healthを統合してインシデント検出時間とアプリケーションの回復力を向上させる方法について学びます。このセッションは、アーキテクト、CCoEリーダー、ビルダーに適しています。
学んだこと
- Cloud Optimizationの段階的な進め方
- 継続的な改善のフェーズに入った後は、人材教育も重要な要素である
- Cloud Optimizationのためのさまざまなツール
セッション内容
セッションで話すことの紹介
- ライフサイクル全体にわたるアーキテクチャのベストプラクティスに関するセッションで、深い掘り下げはしない
- Cloud Optimizationとネットワークの経時的な変化について説明する
- 使用できるツールの紹介(AWS Health, AWS Trusted Advisorなど)
クラウド最適化の定義と目的
- Cloud Optimizationの目的は、ビジネスでの目標を達成するためのもの
- コストや信頼性、あるいは市場投入までの時間の犠牲を払って将来のニーズを満たすことなど、トレードオフを行う必要がある
- このトレードオフは、人に対しても当てはまる。
- 補足: 後ほど、チームメンバーへの情報共有や教育の話が出てくるため、そのことを指している様子。
フレームワークとツールの紹介
- Cloud Optimizationで利用する2つのフレームワークと3つのツールを紹介。
- これらのフレームワークの指針に従うと、段階的に改善していくことができる。小さく、ゆっくりと継続的に改善していく。
- 最適化について考える際には、他のメンバーも巻き込む必要がある。
感想:
- AWS Cloud Adoption Frameworkは初めて聞きました。
- 人を巻き込んで段階的に改善していく必要がある、というのをこの時点で何度も強調しています。
改善の段階
- 改善の段階をExploration」「Foundation」「Intermediate」「Advanced」「Autonomous」に分けて考えていく。
- Exploration: 探索フェーズ。小規模なプロジェクトで実験を行い、POCを実施する。サービスのコストも検討する。
- ここで検討する必要があるものは、組織の状況や最終的な導入目標によっても異なる。
- Foundation: 基礎フェーズ。ここから実際の構築に入っていく。
- 基礎となるインフラの構築、共有ログ、共有ネットワークなどはこの段階で考えておきたい。
- Intermediage: 中間フェーズ。アーキテクチャの設計を実際に開始する。コスト管理ポリシーやリソースのタグ付けポリシーなどを、ベストプラクティスに沿って構成していく。
- Advanced: 高度フェーズ。CI/CDパイプラインなどを利用してデプロイを最適化する。
- Autonomous: 継続的な最適化のフェーズ。
継続的な最適化の中のフェーズ
- 学習
- スピードを優先し、トレードオフを行うと、学習よりも機能のリリースに集中したいと思うかもしれないが、最も重要な基礎的な部分。
- なぜなら、この段階でベストプラクティス自体を理解するから。
- 学習に際して、AWS Cloud Adoption Frameworkをお勧めする。
- まず、Operations Perspectiveから実施すると良い。ツールと自動化に関するものが記載されているから。
- セキュリティ
- ビジネス目標に基づき、重点分野と優先事項を決定する。
- 高速で開始し、多少のコストをかけても構わない。次の段階でコスト最適化を行う。
- 測定
- ベストプラクティスとの乖離度合いなどを測定する。
- 特定
- ベストプラクティスを実施する、しないことによるリスクを特定する。
- 優先付け
- ビジネス上の優先順位をつける。全てやる必要はなく、自分たちになんらかの影響を及ぼすものを実施する。
- 改善
- 実際に改善する
- 共有
- ここでの改善は他のチームにも活かせる可能性が高い。他のチームと共有する。
感想:
- 継続的な改善の初期段階に「学習」が入っています。確かに、チームとして学習を促進しないと、人が変わったタイミングで継続的な改善ができなくなることがあります。そういった意味で、学習は確かに疎かにされがちだと感じました。
ツールについて
- AWS Well-Architected Tool
- AWS社内での作業方法、インシデントへの対応方法から着想を得たサービス。
- 2018年から利用可能である。
- AWS Well-Architected Toolのマイルストーンを利用することで、継続的な改善を追跡するのに役立つ。
- TrustedAdvisorを利用することで、自動でリスクも検出できるようになる。
- Service ScreenerというオープンソースツールはAWSが2021年から開発している。
- AWS Healthから、公開イベントの発生を検知することができる。公開イベントは、例えば、MySQLエンジンとサポート、またはKubernetesエンジンとサポートの終了などがある。
感想
- Service Screenerというツールは初めて知りました。
- 少し調べてみました。Cloud Shellで実行し、CloudFront, EC2, EFS など多数のサービスの設定を自動で評価してくれるサービスのようです。
感想
全体的に抽象的な内容が多いセッションでしたが、AWS Well-Architected Frameworkをどのように実務に活かしていくか参考になりました。
現状の自分の組織がどのフェーズにあるのか、理解できれば実施すべきことがわかるので、今回のセッションの内容を思い出して活かしていける機会がありそうです。
Cloud Optimizationに関わる複数のツールを新たに知ることもできました。
今後AWSを使っていく人にとって、意味のあるセッションだったと思います。