Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Well-Architected Framework を活用した Azure 設計パターン / azure-well-architected-framework

Ff7f1f76468f46a1c5c84b9238a4b162?s=47 miyake
February 19, 2021

Well-Architected Framework を活用した Azure 設計パターン / azure-well-architected-framework

「あつまれ未来のアーキテクト!クラウドでのアプリケーションアーキテクチャー設計を知ろう」で発表させていただいたスライドです。

Agenda
1. Microsoft Azure Well-Architected Framework について
2. Well-Architected Framework を活⽤した Azure 設計

Ff7f1f76468f46a1c5c84b9238a4b162?s=128

miyake

February 19, 2021
Tweet

Transcript

  1. Well-Architected Framework を活⽤した Azure 設計パターン あつまれ未来のアーキテクト︕ クラウドでのアプリケーションアーキテクチャー設計を知ろう @kazuyukimiyake

  2. About Me 三宅 和之 @kazuyukimiyake 株式会社ゼンアーキテクツ CTO Microsoft MVP (

    for Microsoft Azure ) Vue.js ⽇本ユーザーグループ運営 PaaS がかりの部屋(Blog): https://k-miyake.github.io/blog/
  3. Agenda 1. Microsoft Azure Well-Architected Framework について 2. Well-Architected Framework

    を活⽤した Azure 設計 オペレーショナルエクセレンス観点 パフォーマンス効率観点 信頼性観点 セキュリティ観点 コスト最適化観点 3
  4. Azure Well-Architected Framework について

  5. アーキテクチャを取り巻く環境の変化 従来 オンプレミス前提のフルカスタマイズ(≒ オレオレアーキテクチャ) 現在 クラウド前提のアーキテクチャ -> アーキテクチャもパターンやフレームワークを活⽤する時代 すべてをゼロから考える必要がなくなる(⾞輪の再発明防⽌) 実証済のベストプラクティスを流⽤できる

    5
  6. Azure Well-Architected Framework(W-AF) とは 安全で、信頼性が⾼く、効率的なアプリケーションの設計、構築、およ び継続的な改善を促進するためのベストプラクティス https://docs.microsoft.com/ja-jp/azure/architecture/framework/ 5 つの観点 オペレーショナルエクセレンス

    パフォーマンス効率 信頼性 セキュリティ コスト最適化 6
  7. なぜ W-AF なのか︖(三宅流解釈) Well-Architected Framework が必要となった背景 ⾃前で作る箇所を減らすべき ベストプラクティスをできるだけ再利⽤すべき Well-Architected Framework

    のねらい ⾮機能要件の実現ベストプラクティス集 「個別システムでゼロから考えないでください集」 W-AF に定義されていることで外して嬉しいことはほとんどない 7
  8. Azure Well-Architected Framework を活⽤する

  9. W-AF を活⽤した Azure アーキテクチャ設計パターン ⾮機能要件を実現するためのパターンとして活⽤できる 開発リソースをビジネス⾯(機能⾯)にフォーカスできる 9

  10. 「パフォーマンス効率」観点での Azure 設計 リソースをスケーリングできるようにする 潜在的なボトルネックを識別して最適化する 10

  11. 「パフォーマンス効率」: 関連 Azure サービス Event Hubs Storage Queue App Service/Functions

    Cosmos DB ... 11
  12. スケーリング 12

  13. パフォーマンスの最適化 13

  14. 「パフォーマンス効率」: リファレンス W-AF ドキュメント - パフォーマンス効率 https://docs.microsoft.com/ja-jp/azure/architecture/framework/scalability/overview 関連するクラウド設計パターン キュー ベースの負荷平準化パターン

    https://docs.microsoft.com/ja-jp/azure/architecture/patterns/queue- based-load-leveling コマンド クエリ責務分離 (CQRS) パターン https://docs.microsoft.com/ja-jp/azure/architecture/patterns/cqrs 14
  15. 「信頼性」観点での Azure 設計 アップタイムを維持する データ損失や⼤規模災害から復旧する 15

  16. 「信頼性」: 関連 Azure サービス Azure Storage SQL DB Cosmos DB

    Front Door/App Gateway ... 16
  17. ⾼可⽤性アーキテクチャ 17

  18. 障害からの復旧が可能なアーキテクチャ 18

  19. 「信頼性」: リファレンス W-AF ドキュメント - 信頼性 https://docs.microsoft.com/ja-jp/azure/architecture/framework/resiliency/overview 関連するクラウド設計パターン バルクヘッド パターン

    https://docs.microsoft.com/ja-jp/azure/architecture/patterns/bulkhead サーキット ブレーカー パターン https://docs.microsoft.com/ja-jp/azure/architecture/patterns/circuit- breaker 19
  20. "オペレーショナルエクセレンス"観点での Azure 設計 アプリケーションがどのように実⾏中であるかを完全に表⽰可能にする 開発とリリースの実務をより機敏なものにする 20

  21. オペレーショナルエクセレンス: 関連 Azure サービス GitHub Actions/Azure Pipelines Terraform App Insights

    Monitor ... 21
  22. DevOps DevOps は、エンド ユーザーへの価値の継続的デリバリーを可能にする 22

  23. モニタリング 23

  24. 「オペレーショナルエクセレンス」: リファレンス W-AF ドキュメント - オペレーショナルエクセレンス https://docs.microsoft.com/ja-jp/azure/architecture/framework/devops/overview 関連するクラウド設計パターン 外部構成ストア パターン

    https://docs.microsoft.com/ja-jp/azure/architecture/patterns/external- configuration-store 正常性エンドポイントの監視パターン https://docs.microsoft.com/ja-jp/azure/architecture/patterns/health- endpoint-monitoring 24
  25. 「セキュリティ」観点での Azure 設計 ゼロトラストモデルを前提としたセキュリティ設計を推奨する 多層防御の観点から複数のセキュリティ対策を導⼊する 25

  26. 「セキュリティ」: 関連 Azure サービス Azure Active Directory/AAD B2C App Gateway

    VNet ExpressRoute ... 26
  27. ID とアクセス管理 ゼロトラストモデルを前提に、ID がセキュリティ保証の基礎を提供する 27

  28. ネットワークセキュリティ 28

  29. 「セキュリティ」: リファレンス W-AF ドキュメント - セキュリティ https://docs.microsoft.com/ja-jp/azure/architecture/framework/security/overview 関連するクラウド設計パターン フェデレーション ID

    パターン https://docs.microsoft.com/ja-jp/azure/architecture/patterns/federated- identity ゲートキーパー パターン https://docs.microsoft.com/ja-jp/azure/architecture/patterns/gatekeeper 29
  30. 「コスト最適化」観点での Azure 設計 スケーラブルなコスト、従量課⾦制のメリットを⽣かせる構成 適切なリソース、適切なサイズでプロビジョニングする 継続的にコストの監視と最適化を⾏う 30

  31. 「コスト最適化」: 関連 Azure サービス API Management Cost Management Azure Functions

    Azure SQL DB ... 31
  32. コスト最適化を考慮した設計 リソースの需要と技術要件は時間の経過と共に変化することを前提に設計する 32

  33. コストの監視と分析 ビジネス、アプリケーションの変化にあわせてコストを継続的に最適化する 33

  34. 「コスト最適化」: リファレンス W-AF ドキュメント - コスト最適化 https://docs.microsoft.com/ja-jp/azure/architecture/framework/cost/ 関連するクラウド設計パターン スロットリングパターン https://docs.microsoft.com/ja-jp/azure/architecture/patterns/throttling

    コンピューティング リソース統合パターン https://docs.microsoft.com/ja-jp/azure/architecture/patterns/compute- resource-consolidation 34
  35. まとめ W-AF を教科書的に学んだり覚えたりする必要はない ⾮機能要件からの設計時に W-AF を参考にしてみる 実際の Azure サービスと紐づけるとイメージしやすい アーキテクチャパターン

    を活⽤する 35
  36. Well-Architected Framework のホワイトペーパー 「Azure Light-up Well-Architected Framework テクニカルパート概要編」 発⾏: ⽇本マイクロソフト株式会社

    監修: ゼンアーキテクツ 三宅 和之 ダウンロード: https://zenarchitects.co.jp/posts/azure-well-architected- framework-whitepaper 36
  37. zenarchitects.co.jp