CloudOps を使用して運用体制とパフォーマンスを確保する

Last reviewed 2024-10-31 UTC

Well-Architected Framework のオペレーショナル エクセレンスの柱におけるこの原則は、クラウド ワークロードの運用体制とパフォーマンスを確保するうえで役立ちます。Google Cloud サービスのパフォーマンスに関する明確な期待とコミットメントを確立し、堅牢なモニタリングとアラートを実装し、パフォーマンステストを実施し、容量ニーズをプロアクティブに計画することを重視しています。

原則の概要

組織によって運用体制の解釈が異なる場合があります。 運用体制とは、組織が正常に ワークロードを運用するための準備のことです Google Cloud。複雑な多層クラウドワークロードを運用するための準備には、本番稼働と day-2 オペレーションの両方について慎重な計画が必要です。これらのオペレーションは、多くの場合 CloudOps と呼ばれます。 CloudOps

運用体制の重点分野

運用体制は 4 つの重点分野で構成されています。各重点分野は、 で複雑なアプリケーションや環境を運用するための準備に必要な一連のアクティビティとコンポーネントで構成されています Google Cloud。次の表に、各重点分野のコンポーネントとアクティビティを示します。

運用体制の重点分野 アクティビティとコンポーネント
従業員
  • クラウド リソースを管理および運用するチームの明確な役割と責任を定義する。
  • チームメンバーが適切なスキルを持っていることを確認する。
  • 学習プログラムを開発する。
  • 明確なチーム構造を確立する。
  • 必要な人材を採用する。
プロセス
  • オブザーバビリティ。
  • サービスの中断を管理する。
  • クラウド配信。
  • コア クラウド オペレーション。
ツール CloudOps プロセスをサポートするために必要なツール。
ガバナンス
  • サービスレベルとレポート。
  • クラウドの財務。
  • クラウド運用モデル。
  • アーキテクチャのレビューとガバナンス ボード。
  • クラウド アーキテクチャとコンプライアンス。

推奨事項

CloudOps を使用して運用体制とパフォーマンスを確保するには、次のセクションの推奨事項を検討してください。このドキュメントの各推奨事項は、運用体制の 1 つ以上の 重点分野に関連しています

SLO と SLA を定義する

クラウド オペレーション チームの重要な責任は、すべての重要なワークロードに対してサービスレベル目標(SLO)とサービスレベル契約(SLA)を定義することです。この推奨事項は、運用体制のガバナンス の重点分野に関連しています

SLO は、具体的(Specific)、測定可能(Measurable)、達成可能(Achievable)、関連性がある(Relevant)、期限付き(Time-bound)(SMART)である必要があり、必要なサービスレベルとパフォーマンスを反映している必要があります。

  • 具体的: 必要なサービスレベルと パフォーマンスを明確に示します。
  • 測定可能: 定量化して追跡できます。
  • 達成可能: 組織の 能力とリソースの範囲内で達成できます。
  • 関連性がある: ビジネス目標と優先順位に沿っています。
  • 期限付き: 測定と評価のタイムフレームが定義されています。

たとえば、ウェブ アプリケーションの SLO は「99.9% の可用性」または「平均返信時間 200 ミリ秒未満」などです。このような SLO は、ウェブ アプリケーションに必要なサービスレベルとパフォーマンスを明確に定義し、SLO は経時的に測定して追跡できます。

SLA では、サービスの可用性、パフォーマンス、サポートに関するお客様へのコミットメントを概説します。これには、不履行に対するペナルティや救済策も含まれます。 SLA には、提供されるサービス、期待できるサービスレベル、サービス プロバイダとお客様の責任、不履行に対するペナルティや救済策に関する具体的な詳細を含める必要があります。SLA は両当事者間の契約であり、両当事者がクラウド サービスに関連する期待と義務を明確に理解できるようにします。

Google Cloud は、SLO の定義と追跡に役立つ Cloud Monitoring やサービスレベル指標(SLI)などのツールを提供しています。 Cloud Monitoring は、組織がクラウドベースのアプリケーションとサービスの可用性、パフォーマンス、レイテンシに関連する指標を収集して分析できるようにする、包括的なモニタリングとオブザーバビリティ機能を提供します。SLI は、SLO を経時的に測定して追跡するために使用できる特定の指標です。これらのツールを使用すると、クラウド サービスを効果的にモニタリングして管理し、SLO と SLA を満たすことができます。

すべての重要なクラウド サービスに対して SLO と SLA を明確に定義して伝達することで、デプロイされたアプリケーションとサービスの信頼性とパフォーマンスを確保できます。

包括的なオブザーバビリティを実装する

クラウド環境の健全性とパフォーマンスをリアルタイムで可視化するには、Google Cloud Observability ツールとサードパーティ ソリューションを組み合わせて使用することをおすすめします。 この推奨事項は、運用体制の 重点分野である プロセスとツールに関連しています。

オブザーバビリティ ソリューションを組み合わせて実装すると、クラウド インフラストラクチャとアプリケーションのさまざまな側面をカバーする包括的なオブザーバビリティ戦略が実現します。Google Cloud Observability は、さまざまな Google Cloud サービス、アプリケーション、外部ソースから指標、ログ、トレースを収集、分析、可視化するための統合プラットフォームです。Cloud Monitoring を使用すると、リソースの使用率、パフォーマンス特性、リソースの全体的な健全性に関する分析情報を取得できます。

包括的なモニタリングを確保するには、CPU 使用率、メモリ使用量、ネットワーク トラフィック、ディスク I/O、アプリケーションの応答時間など、システムの健全性指標に沿った重要な指標をモニタリングします。ビジネス固有の指標も考慮する必要があります。これらの指標を追跡することで、潜在的なボトルネック、パフォーマンスの問題、リソース制約を特定できます。また、潜在的な問題や異常について、関連チームに事前に通知するアラートを設定することもできます。

モニタリング機能をさらに強化するには、サードパーティ ソリューションを Google Cloud Observability と統合します。これらのソリューションは、高度な分析、ML を活用した異常検出、インシデント管理機能などの追加機能を提供できます。Google Cloud Observability ツールとサードパーティ ソリューションを組み合わせることで、特定のニーズに合わせてカスタマイズされた堅牢なモニタリング エコシステムを構築できます。この組み合わせアプローチを使用すると、問題をプロアクティブに特定して対処し、リソース使用率を最適化し、クラウド アプリケーションとサービスの全体的な信頼性と可用性を確保できます。

パフォーマンス テストと負荷テストを実装する

定期的にパフォーマンステストを実施することで、クラウドベースのアプリケーションとインフラストラクチャがピーク負荷に対応し、最適なパフォーマンスを維持できるようにします。負荷テストでは、現実的なトラフィック パターンをシミュレートします。ストレステストでは、システムを限界までプッシュして、潜在的なボトルネックとパフォーマンスの制限を特定します。この推奨事項は、運用体制の 重点分野である プロセスとツールに関連しています。

Cloud Load Balancing負荷テスト サービス などのツールを使用すると、実際のトラフィック パターンをシミュレートしてアプリケーションのストレステストを行うことができます。これらのツールは、さまざまな負荷条件下でのシステムの動作に関する貴重な分析情報を提供し、最適化が必要な領域を特定するのに役立ちます。

パフォーマンステストの結果に基づいて、クラウド インフラストラクチャとアプリケーションを最適化して、最適なパフォーマンスとスケーラビリティを実現できます。この最適化には、リソース割り当ての調整、構成のチューニング、キャッシュ メカニズムの実装が含まれる場合があります。

たとえば、トラフィックの多い時間帯にアプリケーションの速度が低下していることが判明した場合は、アプリケーションに割り当てられている仮想マシンまたはコンテナの数を増やす必要があるかもしれません。または、ウェブサーバーまたはデータベースの構成を調整してパフォーマンスを改善する必要があるかもしれません。

定期的にパフォーマンステストを実施し、必要な最適化を実装することで、クラウドベースのアプリケーションとインフラストラクチャが常に最高のパフォーマンスで実行され、ユーザーにシームレスで応答性の高いエクスペリエンスを提供できます。これにより、競争優位性を維持し、お客様との信頼関係を築くことができます。

容量を計画して管理する

将来の容量ニーズ(オーガニックまたはインオーガニック)をプロアクティブに計画することで、クラウドベースのシステムの円滑な運用とスケーラビリティを確保できます。 この推奨事項は、運用体制のプロセス の重点分野に関連しています

将来の容量を計画するには、コンピューティング インスタンス、ストレージ、API リクエストなど、さまざまなリソースの 割り当て を理解して管理する必要があります。過去の使用パターン、成長予測、ビジネス要件を分析することで、将来の容量要件を正確に予測できます。Cloud MonitoringBigQuery などのツールを使用して、使用状況データを収集して分析し、傾向を特定して将来の需要を予測できます。

過去の使用パターンは、経時的なリソース使用率に関する貴重な分析情報を提供します。CPU 使用率、メモリ使用量、ネットワーク トラフィックなどの指標を調べることで、需要の高い期間と潜在的なボトルネックを特定できます。 また、ユーザー ベースの増加、新製品と機能、マーケティング キャンペーンなどの要因に基づいて成長予測を行うことで、将来の容量ニーズを推定できます。容量ニーズを評価する際は、SLA やパフォーマンス目標などのビジネス要件も考慮する必要があります。

ワークロードのリソースサイズを決定する際は、リソースの使用率に影響する可能性のある要因を考慮してください。ホリデー ショッピング期間や四半期末のセールなどの季節的な変動により、一時的に需要が急増する可能性があります。プロダクト リリースやマーケティング キャンペーンなどの計画されたイベントでも、トラフィックが大幅に増加する可能性があります。プライマリ システムと障害復旧(DR)システムが予期しない需要の急増に対応できるように、自然災害やサイバー攻撃などの障害時にグレースフル フェイルオーバーをサポートできる容量を計画してください。

自動スケーリングは、ワークロードの変動に基づいてクラウド リソースを動的に調整するための重要な戦略です。自動スケーリング ポリシーを使用すると、需要の変化に応じてコンピューティング インスタンス、ストレージ、その他のリソースを自動的にスケーリングできます。これにより、ピーク時のパフォーマンスを最適化し、リソース使用率が低い場合の費用を最小限に抑えることができます。自動スケーリング アルゴリズムは、CPU 使用率、メモリ使用量、キューの深さなどの指標を使用して、リソースをスケーリングするタイミングを判断します。

継続的にモニタリングして最適化する

クラウド ワークロードを管理して最適化するには、パフォーマンス指標を継続的にモニタリングして分析するプロセスを確立する必要があります。この推奨事項 は、運用体制の プロセスとツールという重点分野に関連しています。

継続的なモニタリングと分析のプロセスを確立するには、クラウド環境のさまざまな側面に関連するデータを追跡、収集、評価します。このデータを使用すると、改善の余地がある領域をプロアクティブに特定し、リソース使用率を最適化し、クラウド インフラストラクチャがパフォーマンスの期待値を常に満たすか、それを超えるようにできます。

パフォーマンス モニタリングの重要な側面は、ログとトレースを定期的に確認することです。ログは、システム イベント、エラー、警告に関する貴重な分析情報を提供します。 トレースは、アプリケーションを通過するリクエストのフローに関する詳細情報を提供します。ログとトレースを分析することで、潜在的な問題を特定し、問題の根本原因を特定し、さまざまな条件下でのアプリケーションの動作をより深く理解できます。サービス間のラウンドトリップ時間などの指標は、ワークロード内のボトルネックを特定して把握するのに役立ちます。

さらに、パフォーマンス チューニング手法を使用して、アプリケーションの応答時間と全体的な効率を大幅に向上させることができます。使用できる手法の例を次に示します。

  • キャッシュ: 頻繁にアクセスされるデータをメモリに保存して、データベース クエリや API 呼び出しを繰り返す必要性を減らします。
  • データベースの最適化: インデックス作成やクエリ の最適化などの手法を使用して、データベース オペレーションのパフォーマンスを向上させます。
  • コード プロファイリング: 過剰な リソースを消費したり、パフォーマンスの問題を引き起こしたりするコードの領域を特定します。

これらの手法を適用することで、アプリケーションを最適化し、クラウドで効率的に実行できるようにします。