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

Last reviewed 2024-10-31 UTC

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

原則の概要

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

運用準備の重点分野

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

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

推奨事項

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

SLO と SLA を定義する

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

SLO は、具体的、測定可能、達成可能、関連性があり、期限がある(SMART)ものでなければなりません。また、目標とするサービスレベルとパフォーマンスを反映している必要があります。

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

たとえば、ウェブ アプリケーションの 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 呼び出しの繰り返しを減らします。
  • データベースの最適化: インデックス作成やクエリの最適化などの手法を使用して、データベース オペレーションのパフォーマンスを向上させます。
  • コード プロファイリング: リソースを過剰に消費したり、パフォーマンスの問題を引き起こしたりするコードの領域を特定します。

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