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