Google Cloud Well-Architected Framework のパフォーマンス最適化の柱におけるこの原則では、Google Cloudのワークロードのリソースを計画するうえで役に立つ推奨事項が示されています。クラウドへのデプロイまたは移行用のアプリケーションを設計・開発する前に、詳細な要件を定義することの重要性を強調しています。
原則の概要
ビジネス要件を満たすには、設計・開発の前に、アプリケーションのパフォーマンス要件を定義することが重要です。パフォーマンス要件は、アプリケーション全体とアプリケーション スタックの各レイヤについて、可能な限り詳細に定義します。たとえば、ストレージ レイヤでは、アプリケーションが必要とするスループットと入出力操作毎秒(IOPS)を考慮する必要があります。
最初から、パフォーマンスとスケーラビリティを考慮してアプリケーション設計を計画します。ユーザー数、データ量、時間の経過に伴う増加の可能性などの要素を考慮します。
各ワークロードのパフォーマンス要件は、ワークロードの種類によって異なります。各ワークロードには、固有のパフォーマンス特性を持つコンポーネント システムとサービスを組み合わせることができます。たとえば、大規模なデータセットの定期的なバッチ処理を行うシステムには、インタラクティブな仮想デスクトップ ソリューションとは異なるパフォーマンスの要求があります。最適化戦略は、各ワークロードの固有のニーズに対応する必要があります。
各ワークロードのパフォーマンス目標に沿ったサービスと機能を選択します。パフォーマンスの最適化には、万能のソリューションはありません。各ワークロードを最適化すると、システム全体で最適なパフォーマンスと効率を実現できます。
パフォーマンス要件に影響する可能性がある次のワークロード特性を考慮してください。
- デプロイ アーキタイプ: アプリケーションに対して選択するデプロイ アーキタイプは、プロダクトと機能の選択に影響を与え、アプリケーションから期待できるパフォーマンスを決定します。
- リソースの配置: アプリケーション リソースに Google Cloudリージョンを選択する場合は、エンドユーザーの低レイテンシを優先し、データ ローカリゼーション規制を遵守して、必要な Google Cloud のプロダクトとサービスの可用性を確保することをおすすめします。
- ネットワーク接続: データアクセスとコンテンツ配信を最適化するネットワーク サービスを選択します。 Google Cloudのグローバル ネットワーク、高速バックボーン、相互接続ロケーション、キャッシュ サービスを利用できます。
- アプリケーションのホスティング オプション: ホスティング プラットフォームを選択する際は、各オプションのパフォーマンスに関するメリットとデメリットを評価する必要があります。たとえば、ベアメタル、仮想マシン、コンテナ、サーバーレス プラットフォームについて考えてみましょう。
- ストレージ戦略: パフォーマンス要件に基づいて最適なストレージ戦略を選択します。
- リソース構成: マシンタイプ、IOPS、スループットはパフォーマンスに大きな影響を与える可能性があります。また、設計フェーズの早い段階で、適切なセキュリティ機能とリソースへの影響について検討する必要があります。セキュリティ機能を計画する際は、予期しない影響を回避するために必要なパフォーマンスのトレードオフに対応できるように準備しておきます。
推奨事項
最適なリソース割り当てを確実にするために、以下のセクションの推奨事項を検討してください。
割り当ての構成と管理
アプリケーションがメモリ、ストレージ、処理能力などの必要なリソースのみを使用するようにします。過剰な割り当てを行うと不必要な費用が発生する可能性がありますが、割り当てが不足するとパフォーマンスの低下を招く場合があります。
弾性スケーリングに対応し、十分なリソースを確保できるように、割り当ての容量を定期的にモニタリングします。また、割り当ての使用量を追跡調査して潜在的なスケーリング制約や過剰割り当ての問題を特定し、リソースの割り当てについて十分な情報に基づいた意思決定を行います。
教育と認知度の向上
パフォーマンス要件をユーザーに伝え、効果的なパフォーマンス管理手法に関する教育リソースを提供します。
進捗状況を評価し、改善の余地がある部分を特定するには、目標のパフォーマンスと実際のパフォーマンスを定期的に記録します。アプリケーションの負荷テストを行い、潜在的なブレークポイントを見つけて、アプリケーションをスケーリングする方法を把握します。
パフォーマンス指標をモニタリングする
Cloud Monitoring を使用して、パフォーマンス指標の傾向分析、テストの影響分析、重要な指標に対するアラートの定義、事後分析を行います。
Active Assist は、リソース使用率の最適化に役立つ分析情報と推奨事項を提供できる一連のツールです。これらの推奨事項は、リソースの割り当てを調整してパフォーマンスを向上させるのに役立ちます。