Google Cloud のアーキテクチャ フレームワークのこのドキュメントでは、パフォーマンス最適化プロセスの概要について説明します。
パフォーマンスの最適化は継続的なプロセスであり、1 回限りのアクティビティではありません。次の図は、パフォーマンス最適化プロセスの各ステージを示しています。
以降では、パフォーマンス最適化プロセスにおける各ステージの概要を説明します。
パフォーマンス要件の定義
クラウドにデプロイまたは移行するアプリケーションの設計と開発を開始する前に、パフォーマンス要件を明らかにします。アプリケーション スタックの各レイヤ(フロントエンドのロード バランシング、ウェブサーバーやアプリケーション サーバー、データベース、ストレージ)について、可能な限り詳細に要件を定義します。たとえば、ストレージ レイヤについては、アプリケーションが必要とするスループットと 1 秒あたりの I/O オペレーション(IOPS)を決めます。
アプリケーションの設計とデプロイ
アプリケーションは、パフォーマンス要件を満たすことに役立つ柔軟でスケーラブルな設計パターンを使用して設計します。柔軟でスケーラブルなアプリケーションを設計する場合は、次のガイドラインに沿ってください。
- 最適なコンテンツの配置を目指してワークロードを設計する。
- 読み取りトラフィックと書き込みトラフィックを分離する。
- 静的なトラフィックと動的なトラフィックを分離する。
- コンテンツのキャッシュ保存を実装する。内部レイヤにデータ キャッシュを使用する。
- マネージド サービスとサーバーレス アーキテクチャを使用する。
Google Cloud では、他のクラウド プラットフォームを使用した Google Cloud サービスのパフォーマンスをベンチマークするために使用できるオープンソース ツールが用意されています。
パフォーマンスをモニタリングおよび分析する
アプリケーションをデプロイした後、ログとアラートを使用してパフォーマンスを継続的にモニタリングしてデータを分析し、パフォーマンスの問題を特定します。アプリケーションが成長し、進化するにつれて、パフォーマンス要件を再評価します。パフォーマンスを維持または改善するために、アプリケーションの一部を再設計する必要が生じる場合があります。
パフォーマンスを最適化する
アプリケーションのパフォーマンスと要件の変更に基づき、現在のパフォーマンス要件を満たすようにクラウド リソースを構成します。たとえば、リソースのサイズ変更や、自動スケーリングの設定を行います。リソースを構成する際には、最近リリースされた Google Cloud の機能とサービスを使用する機会を評価し、パフォーマンスをさらに最適化できるようにします。
パフォーマンスの最適化プロセスがここで終了するわけではありません。パフォーマンスのモニタリング、必要に応じて要件の再評価、クラウド リソースの調整のサイクルを継続して、パフォーマンスの維持と向上を図ります。
次のステップ
- パフォーマンスをモニタリングおよび分析する。
- コンピューティング パフォーマンスを最適化する。
- ストレージ パフォーマンスを最適化する。
- ネットワーク パフォーマンスを最適化する。
- データベース パフォーマンスを最適化する。
- 分析パフォーマンスを最適化する。