google-cloud-waf-performance-optimization について
Google Cloud のワークロード設計者や運用チーム向けに、Well-Architected Framework のパフォーマンス最適化の指針をまとめたスキルです。リソース計画、弾力性、モジュール設計、性能監視を評価できます。
主な機能
- 01コンピュート、ストレージ、ネットワークを計画
- 02自動スケーリングとサーバーレスを活用
- 03疎結合なモジュール設計を採用
- 04監視とデータでボトルネックを特定
- 05チェックリストでアーキテクチャを検証
活用シーン
- 01新規アプリのリソース容量計画を評価
- 02キャッシュとストレージの選択を確認
- 03モジュール性と障害分離を評価
- 04性能課題を特定して改善を計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ google/ skills --skill google-cloud-waf-performance-optimizationインストール後、Claude Code で/google-cloud-waf-performance-optimizationを入力して読み込まれたか確認します。
同梱ファイルreferences/attribution.md
詳細
パフォーマンス最適化の柱に関する Google Cloud Well-Architected Framework のスキル
帰属情報
必ずお読みください:gcloud、REST API、または MCP のコマンドを実行する前に、
使用上の帰属情報を
必ず読み、従ってください。
概要
Google Cloud Well-Architected Framework のパフォーマンス最適化の柱では、高いパフォーマンスを発揮するワークロードの設計、構築、運用に役立つ原則と推奨事項を提供します。リソースの効率的な割り当て、モジュール型アーキテクチャの活用、データに基づく分析情報を使用した継続的な監視とパフォーマンス改善に重点を置いており、ビジネスニーズの変化に対応できます。
中核となる原則
Well-Architected Framework のパフォーマンス最適化の柱における推奨事項は、次の中核となる原則に沿っています。
-
リソース割り当てを計画する:ワークロードの具体的な要件に最も適したコンピューティング、ストレージ、ネットワーキングのリソースを慎重に選択して構成します。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/performance-optimization/plan-resource-allocation.md.txt
-
弾力性を活用する:自動スケーリングとサーバーレス技術を活用し、リアルタイムの需要変動に応じてリソース容量を動的に調整します。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/performance-optimization/elasticity.md.txt
-
モジュール型設計を推進する:独立した疎結合コンポーネントを使ってシステムを設計し、スケーラビリティを高め、システム全体に影響を与えずに個々の部分を最適化できるようにします。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/performance-optimization/promote-modular-design.md.txt
-
パフォーマンスを継続的に監視して改善する:堅牢な可観測性を実装してボトルネックを特定し、パフォーマンスデータを活用してソフトウェア開発ライフサイクル全体を通じた反復的な改善を推進します。根拠となるドキュメント: https://docs.cloud.google.com/architecture/framework/performance-optimization/continuously-monitor-and-improve-performance.md.txt
関連する Google Cloud プロダクト
以下は、パフォーマンス最適化に関連する Google Cloud プロダクトと機能の 例 です。
-
コンピューティングとスケーリング
- Compute Engine(MIG):VM ベースのワークロードのオートスケーリングと負荷分散に対応するマネージドインスタンスグループです。
- Google Kubernetes Engine(GKE):水平および垂直方向の Pod オートスケーリングに対応したコンテナオーケストレーションを提供します。
- Cloud Run:トラフィックに応じてコンテナを自動的にゼロまで、またはそれ以上にスケーリングする、フルマネージドのサーバーレスプラットフォームです。
-
データとキャッシュ
- Cloud CDN:静的コンテンツや動的コンテンツをエンドユーザーの近くにキャッシュする、低レイテンシのコンテンツ配信ネットワークです。
- Memorystore:サブミリ秒のデータアクセスを実現する、Valkey および Redis 向けのマネージドインメモリデータストアです。
- Bigtable:低レイテンシと高スループットが求められる分析および運用ワークロード向けの NoSQL データベースサービスです。
- Spanner:ミッションクリティカルなトランザクションアプリケーション向けに、グローバルな一貫性、高可用性、水平方向のスケーリングを提供する RDBMS です。
-
パフォーマンスの分析と監視
- Cloud Trace:レイテンシのボトルネックを特定するための分散トレースシステムです。
- Cloud Profiler:リソースを大量に消費するアプリケーションコードを特定するため、CPU とメモリを継続的にプロファイリングします。
- Cloud Monitoring:レイテンシやスループットなどのパフォーマンス KPI に基づくダッシュボードとアラートを提供します。
ワークロードの評価に関する質問
ワークロードとユーザーの組織におけるパフォーマンス関連の要件や制約を把握するため、適切な質問をします。次のリストから質問を選んでください。
-
リソース割り当てを計画する
- 新しいアプリケーションにコンピューティングリソースを初期プロビジョニングする際、予想されるピーク負荷に必要な容量をどのように判断していますか?
- パフォーマンスと応答性を高めるために、どのようなキャッシュ戦略(ブラウザー、インメモリ、CDN、データベース)を利用していますか?
- アプリケーションのパフォーマンスを高めるために、データストレージソリューション(SSD と HDD、ストレージクラスなど)をどのように最適化していますか?
-
モジュール型設計を推進する
- パフォーマンスと耐障害性を高めるために、どのようなアーキテクチャパターン(マイクロサービス、非同期メッセージング、ステートレスサーバー)を採用していますか?
- システムの一部で発生した障害が他の部分に及ぼす影響を最小限に抑えるため、アプリケーションをどのように設計していますか?
-
パフォーマンスを継続的に監視し、改善する
- 本番環境のアプリケーションとインフラストラクチャのパフォーマンスを、どのくらいの頻度で確認、分析していますか?
- パフォーマンスのボトルネックを積極的に特定し、診断するために、どのようなツールや手法(APM、分散トレーシング、負荷テスト)を使っていますか?
- ソフトウェア開発ライフサイクル(SDLC)に、パフォーマンスへの配慮をどのように取り入れていますか?
-
弾力性を活用する
- パフォーマンスを維持しながら、クラウドリソースのコストを管理、最適化するために、どのような方法を用いていますか?
- アプリケーションへのトラフィックやワークロードが急増した場合、通常どのように対処していますか?
検証チェックリスト
次のチェックリストを使用して、アーキテクチャがパフォーマンス最適化の推奨事項に適合しているか評価します。
-
リソース割り当て
- 初期プロビジョニングは、一般的な見積もりではなく、負荷テストまたは過去のデータに基づいています。
- バックエンドシステムの負荷を軽減するため、複数のレイヤー(CDN、インメモリ、ブラウザー)でキャッシュが実装されています。
- ストレージの種類(SSD/HDD)とクラスは、ワークロード固有の I/O 要件に基づいて選択されています。
-
モジュール型設計
- アーキテクチャでは、独立したスケーリングを可能にするため、マイクロサービスまたは疎結合コンポーネントを使用しています。
- 障害を分離し、システム全体のパフォーマンス低下を防ぐため、サーキットブレーカーまたはバルクヘッドが実装されています。
-
監視と継続的な改善
- 主要業績評価指標(KPI)用に、自動ダッシュボードとアラートが設定されています。
- コードレベルのボトルネックを特定するため、分散トレーシングとプロファイリングのツールを使用しています。
- パフォーマンステスト(単体テストと統合テスト)がソフトウェア開発ライフサイクルに組み込まれています。
-
弾力性
- 需要の変動に対応できるよう、自動スケーリングのルールが設定され、検証されています。
- アーキテクチャでは、サーバーレスまたはマネージドサービスを活用し、負荷に応じて容量を動的に調整しています。
- アイドル状態のオーバーヘッドを削減し、コストとパフォーマンスのバランスを取るため、リソース使用率を定期的に確認しています。