ピーク トラフィックとリリース イベントを計画する

Last reviewed 2023-06-25 UTC

Google Cloud アーキテクチャ フレームワークのこのドキュメントでは、ビジネスの中断を避けるために、ピーク トラフィックとリリース イベントを計画する方法を説明します。

ピークイベントは、アプリケーションの標準ベースラインを超えてトラフィックの急増を引き起こす、ビジネス関連の主要なイベントです。これらのピークイベントには、計画的なスケーリングが必要です。

たとえば、オンライン プレゼンスを持つ小売業は、休日中にピークイベントを期待できます。米国では感謝祭の翌日に発生するブラック フライデーは、1 年のうちでショッピングが最も多忙になる日の一つです。米国の医療業界の場合、10 月と 11 月は、医療給付目的でオンライン トラフィックが急増するため、ピークイベントが発生する可能性があります。

リリース イベントとは、本番環境での新機能の大規模なロールアウトまたは移行です。たとえば、オンプレミスからクラウドへの移行や、新しいプロダクト サービスまたは機能のリリースなどです。

新しいプロダクトをリリースする場合、発表中およびその後に、システムの負荷が増加することが見込まれます。こうしたイベントが発生すると、多くの場合、フロントエンド システムで負荷が 5~20 倍(またはそれ以上)増加します。負荷の増加によりバックエンド システムの負荷も増加します。多くの場合、フロントエンドとバックエンドの負荷は、ウェブ トラフィックに対してイベントが開始されるため、短期間で急激にスケーリングされるのが特徴です。リリース イベント後は、トラフィックが通常の水準まで減少します。通常、減少の速度はピークに達するときの速度よりも遅い。

ピークイベントとリリース イベントには次の 3 つのステージがあります。

  • リリースまたはピーク時のトラフィック イベントの計画と準備
  • イベントのリリース
  • イベント パフォーマンスの確認とイベント後分析

このドキュメントで説明するプラクティスは、これらの各ステージをスムーズに行うために役立ちます。

リリース イベントとピークイベントに関する一般的なハンドブックを作成する

現在と将来のピークイベントの長期的な視点を含む一般的なハンドブックを作成します。学習した内容をドキュメントに継続的に追加するため、その内容が今後のピークイベントを基準となります。

リリース イベントとピークイベントに向けて計画する

事前に計画を立てます。次回のリリース、および予想される(および想定外の)ピークイベントに関するビジネス予測を作成します。システムがスケールの急増に備えることができるかどうかは、ビジネス予測の理解度によって変わります。以前の予測をより詳しく知ることができれば、新しいビジネス予測はより正確なものとなります。これらの新しい予測は、システムに対する需要の予測を行うための重要な入力情報となります。

組織全体で、またサードパーティ ベンダーと協力して、プログラム管理と調整された計画を確立することも成功の鍵となります。これらのチームを早期に設定することで、プログラム管理チームはタイムラインを設定して予算を確保し、インフラストラクチャの追加、テストのサポート、トレーニングに向けてリソースを収集できるようになります。

明確なコミュニケーション チャネルを設定することが重要です。コミュニケーションは、リリース イベントまたはピークイベントのどのステージにも不可欠です。リスクや懸念事項を早期に話し合い、問題が深刻化する前に全員で取り組みます。イベント計画のドキュメントを作成します。ピークイベントに関する最も重要な情報を要約して配布します。これにより、計画に関する情報が広く理解され、基本的な疑問を解決できます。この文書があれば、新しく参加した人でもピークイベントの計画をすぐに理解できます。

イベントごとに計画を文書化します。計画を文書化する際は、次のことを行ってください。

  • 前提条件、リスク、不明な要因を特定する。
  • 過去のイベントを確認して、次回のリリース イベントやピークイベントに関連する情報を特定します。どのデータが使用可能であるか、そのデータが過去にどのような価値をもたらしたかを判断します。
  • リリース イベントと移行イベントのロールバック計画の詳細を作成します。
  • アーキテクチャ レビューを実施します。
    • 主要なリソースとアーキテクチャ コンポーネントを文書化します。
    • アーキテクチャ フレームワークを使用して、環境のあらゆる側面について、リスクとスケールに関する懸念事項を確認します。
    • アーキテクチャの主要コンポーネントの接続方法を示す図を作成します。図を確認すると、問題を切り分けて迅速に解決できます。
  • 必要に応じて、障害発生時にアラート アクションを使用して自動的に再起動するようにサービスを構成します。Compute Engine を使用する場合は、スループットの急増を処理するために自動スケーリングを使用することを検討してください。
  • 必要なときに Compute Engine リソースを確実に使用できるようにするには、予約を使用します。予約を使用すると、Compute Engine ゾーンリソースのキャパシティを確実に確保できます。プロジェクトで利用可能なリソースの確保にも予約を使用できます。
  • 追跡する指標とアラートを特定します。
    • イベントをモニタリングするためのビジネス指標とシステム指標を特定します。指標またはサービスレベル指標(SLI)が収集されていない場合は、システムを変更してこのデータを収集します。
    • 十分なモニタリング機能とアラート機能があり、通常のトラフィック パターンと以前のピーク トラフィック パターンを確認します。アラートが適切に設定されていることを確認します。Google Cloud Monitoring ツールを使用して、アプリケーションの使用状況、容量、アプリケーションやインフラストラクチャの全体的な健全性を確認できます。
    • モニタリングとアラートの関心レベルに応じてシステム指標がキャプチャされるようにします。
  • 増加した容量の要件を Google Cloud アカウント チームとともに確認し、必要な割り当て管理を計画します。詳細については、割り当てが容量の要件を満たしていることを確認するをご覧ください。
  • 適切なクラウド サポートレベルがあること、チームがサポートケースを開く方法を理解していること、エスカレーション パスが確立されていることを確認します。詳しくは、クラウド サポート プロセスとエスカレーション プロセスを確立するをご覧ください。
  • コミュニケーション計画、タイムライン、責任を定義します。
    • 複数の職能にまたがる関係者と連携し、コミュニケーションとプログラムの計画を調整します。これらの関係者には、技術チーム、運用チーム、リーダーチーム、サードパーティ ベンダーの適切な関係者が含まれます。
    • 重要なタスクとそのタスクを所有するチームを含む明確なタイムラインを作成します。
    • チーム、チームリーダー、関係者、責任者の所有権を伝えるために、責任分担表(RACI)を確立します。
    • 計画されたピークイベントには、プレミアム サポートのイベント管理サービスを使用できます。このサービスでは、カスタマーケアがお客様のチームと連携し、プランを作成して、イベント全体にわたるガイダンスを提供します。

レビュー プロセスを確立する

ピーク時のトラフィック イベントやリリース イベントが終了したら、イベントを確認して、学習した内容を文書化します。その後、これらの内容でハンドブックを更新します。最後に、学習した内容を次の主要なイベントに応用します。以前のイベントから学ぶことは重要です。負荷の大きい状況下でシステムの制約が明らかな場合には特に重要となります。

ピーク時のトラフィック イベントやリリース イベントに関する事後調査(事後分析とも呼ばれます)は、データを収集し、発生したインシデントを理解するうえで役立つ手法です。ピーク時のトラフィックとリリース イベントのうち想定どおりのものや、問題が発生したインシデントについて事後調査を行ってください。このような事後調査を行うことで、過失を責めない文化が育まれます。

事後分析の詳細については、ポストモーテムの文化: 失敗から学ぶをご覧ください。

次のステップ