CloudOps を使用して運用の準備とパフォーマンスを確保する

Last reviewed 2024-10-31 UTC

Google Cloud アーキテクチャ フレームワークの運用効率の柱にあるこの原則は、クラウド ワークロードの運用準備とパフォーマンスを確保するのに役立ちます。サービス パフォーマンスに関する明確な期待値とコミットメントの確立、堅牢なモニタリングとアラートの実装、パフォーマンス テストの実施、容量ニーズに対する事前計画に重点を置いています。

原則の概要

組織によって運用の準備状況の解釈が異なる場合があります。運用準備とは、組織が Google Cloud でワークロードを正常に運用するための準備を行う方法です。複雑なマルチレイヤのクラウド ワークロードを運用する準備をするには、本番環境とday-2 オペレーションの両方を慎重に計画する必要があります。このようなオペレーションは、CloudOps と呼ばれます。

運用準備の重点分野

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

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

推奨事項

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

SLO と SLA を定義する

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

SLO は、具体的、測定可能、達成可能、関連性があり、期限がある(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 と統合します。これらのソリューションでは、高度な分析、機械学習を活用した異常検出、インシデント管理などの追加機能を利用できます。Google Cloud のオブザーバビリティ ツールとサードパーティ ソリューションを組み合わせることで、特定のニーズに合わせてカスタマイズ可能な堅牢なモニタリング エコシステムを構築できます。この組み合わせのアプローチを使用すると、問題を事前に特定して対処し、リソース使用率を最適化して、クラウド アプリケーションとサービスの全体的な信頼性と可用性を確保できます。

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

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

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

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

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

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

容量を計画、管理する

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

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

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

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

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

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

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

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

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

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

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

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