View a markdown version of this page

ウェーブプランニング - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ウェーブプランニング

基本的に、ウェーブプランは移行スケジュールであり、他のプロジェクト計画アクティビティと似ています。管理可能なグループを作成し、リスクを軽減し、それらのグループを中心にアクティビティを整理する手段として、移行ウェーブを使用することをお勧めします。

効果的で信頼性の高い移行ウェーブプランを作成するには、アプリケーションポートフォリオ、関連するインフラストラクチャ (コンピューティング、ストレージ、ネットワーク)、依存関係マッピング、移行戦略の全体像を把握する必要があります。

ソフトウェアとインフラストラクチャコンポーネントのコレクションをグループ化する形式のビジネスアプリケーションに加えて、他のグループレベルを使用できます。ウェーブは最も高いグループレベルです。ウェーブ内で、依存関係グループを作成できます。このタイプのサブグループには、複数のアプリケーションを含めることができます。たとえば、低レイテンシーなどの技術的な依存関係のために同時に移行する必要がある 2 つ以上のアプリケーションなどです。次に、その依存関係グループ全体が管理されます。複数の依存関係グループをウェーブに割り当てることができます。次に、ウェーブ全体またはウェーブ内の個々の依存関係グループに移行日を割り当てることができます。移行日は、そのグループが現在の場所で停止され、アクティブになる日時です AWS。

移行ウェーブには複数のアクティビティがあります。ウェーブをフェーズごとに整理し、フェーズごとに予想される期間を設定することをお勧めします。以下のフェーズが例として役立ちます。

  • 設計: このウェーブフェーズでは、ウェーブ内の各アプリケーションのターゲット設計が確認され、承認されます。

  • カットオーバー計画: このウェーブフェーズには、カットオーバーランブックの作成または反復と、アプリケーションの切り替えに必要なすべてのステップの計画 AWS が含まれます (ロールバックシナリオを含む)。

  • 移行前: このフェーズには、アカウントのプロビジョニング、設定、移行前テスト、移行ツールのセットアップ、データレプリケーションなどのランディングゾーンのデプロイアクティビティが含まれます。

  • カットオーバー: このフェーズでは、実際の移行が行われます。この間、アプリケーションは現在の場所で停止され、データは最後に同期され、ビジネステストが実行され、移行が確定されます。このフェーズには、運用上の引き渡しが含まれます。

  • ハイパーケアまたは移行後: このフェーズは、移行チームが問題が発生した場合に運用をサポートできる期間です。また、必要に応じて最適化を適用することもできます。

  • ウェーブクローズ: このフェーズでは、学習したメトリクスと教訓を確認し、ウェーブを正式にクローズします。

移行ウェーブには事前定義された期間はなく、労力と複雑さのレベルによって異なります。移行ウェーブは 6~10 週間以内に維持することをお勧めします。アプリケーションコンポーネントを完全に書き換えるなど、より多くの時間が必要な場合、通常、移行ウェーブの外でより適切に処理されます。

成功を測定し、進捗状況を追跡するには、ウェーブを成果とビジネスドライバーに合わせる必要があります。これは、ウェーブ期間とウェーブに含まれる依存関係グループにも影響します。ウェーブの完了には、測定可能なアチーブメントを反映する必要があります。

移行ウェーブを整理する方法は複数あります。次の表に、最も一般的なウェーブ組織オプションを示します。これらは通常結合されます。

ウェーブ組織タイプ

説明

長所

短所

移行戦略またはテクノロジースタック別

共通の移行戦略またはパターンを持つアプリケーションをウェーブに割り当てます。たとえば、リホストアプリケーションのみを含むウェーブなどです。

パターンまたはスタックあたりの専有チームには、ウェーブ全体を割り当てることができます。

アクティビティの同種期間。

特にさまざまなパターンに従うアプリケーションでは、依存関係をより詳細に分析する必要があります。

ビジネスドメイン別

ビジネスドメインごとにウェーブを作成します。例えば、注文管理ウェーブや支払いウェーブなどです。

通常、特定のドメイン内の共有データ。

チームの一貫した関与。

ビジネスドメイン全体が影響を受けることによるリスクの増加。

技術的能力別

1 つ以上の機能を使用するアプリケーションをグループ化します。例えば、コンピューティング専用ウェーブやコンピューティング + 負荷分散ウェーブなどです。

技術機能が時間の経過とともに有効になるにつれて、移行はより速く開始されます。完全に動作するランディングゾーンの依存関係を削除します。

後の波で複雑なポケットを作成します。

環境別

ウェーブには、一連のアプリケーションの特定の環境が含まれます。例えば、開発ウェーブや本番ウェーブなどです。

非本番稼働用ウェーブは、実行時の柔軟性からメリットを得ます。

本番稼働用移行のリスクが軽減されました。

非本番環境に存在しない依存関係が欠落しないように、依存関係分析に重点を置く必要があります。

ビジネスの優先度別

特定の優先順位付け基準に基づいて純粋にグループを作成します。

ビジネス成果に対処します。

通常、多くのチームが関与しており、調整が困難です。

 アプリケーションポートフォリオのベースラインの確立に関するセクションでは、技術的な依存関係の 4 つのカテゴリについて説明しました。これらの依存関係は、移行ウェーブの作成と依存関係グループの定義に役立ちます。依存関係グループは、依存関係の重要度によって決まります。さらに、非技術的な依存関係も考慮する必要があります。例えば、アプリケーションのリリーススケジュール、メンテナンスウィンドウ、主要な営業日 (月末や四半期末の処理など) は、ウェーブプランに影響を与える可能性があります。

依存関係がソフトハードかを判断します。ソフト依存関係は、2 つ以上のアセット間の関係、またはアセットから制約への関係であり、コンポーネントの場所には依存しません。たとえば、同じローカルネットワーク (または同じインフラストラクチャ) で動作する 2 つのシステムを分割するには、一方のシステムをクラウドに移動し、もう一方をオンプレミスのままにします。ハード依存関係は、2 つ以上のアセット間の関係、またはアセットから制約への関係であり、場所によって異なります。例えば、同じローカルネットワークで動作し、アプリケーションサーバーとデータベースサーバー間の通信の低レイテンシーに大きく依存する 2 つのシステムには、強い依存関係があります。これらのシステムの 1 つだけをクラウドに移動すると、機能またはパフォーマンスの問題が発生し、解決できません。同様に、リソースの可用性 (移行を実行するチームなど) や運用上の制約 (2 つのシステムを特定の期間にのみ移行できるメンテナンスウィンドウなど) などの非技術的な理由によって、これらのアセットに厳しい依存関係が生じる可能性があります。

移行ウェーブプランを作成するには、依存関係を分析して依存関係グループを決定します。理想的には、特殊な検出ツールなどの信頼性の高いデータソースから決定します。この情報とアプリケーションの優先順位付け基準および運用状況を組み合わせてください。

技術的な依存関係の特定は困難です。複数のデータポイントが必要であり、すべてを含むデータソースはありません。例えば、検出ツールからprocess-to-process通信情報を取得することはできますが、ソフト依存関係とハード依存関係に分類するのは困難です。レイテンシー耐性は、ネットワークデータのみから判断することも困難です。

以下の手法は、実際の依存関係を決定する曖昧さに対処するのに役立ちます。

  • 「データ要件」セクションの説明に従ってすべてのデータを収集し、必要に応じて考慮したその他のデータポイントも収集します。

  • 依存関係情報 (または通信データ) をフィルタリングし、Active Directory、バックアップ、トラフィックのモニタリングなどの共有サービスを除外します。技術共有サービスは、スコープ全体をグルー化する傾向があります。

  • すべての情報を分類します。使用可能な場合は、コンポーネント間でネットワーク周波数とデータ転送ボリュームを使用します。

  • アプリケーション所有者、アーキテクト、サポートチームとミーティングを行います。接続のタイプについて説明します。同期か非同期か。最小レイテンシー要件を認識していますか? 重要な接続とは何ですか? また、使用できない場合はどうなりますか? 重要な接続がありませんか? バッチプロセスが散発的に発生し、データセットに欠落している可能性があることに注意してください。

  • 検出ツールがデータグラフを提供する場合は、アプリケーションの大規模なクラスターをブリッジする単一のアプリケーションを探します。これらの単一の接続ポイントは、データを小さなグループに分割するのに役立ちます。

AWS Transform は、依存関係を分析し、ウェーブプランニングを実行するのに役立ちます。

ウェーブプランの作成

アプリケーションのウェーブを移行するための前提条件は、アプリケーションポートフォリオデータと、ウェーブで移行されるアプリケーションのグループの詳細なアプリケーション評価です。詳細な評価には、ウェーブ内のアプリケーションのリスト、関連するインフラストラクチャの詳細、ターゲット設計、各アプリケーションの移行戦略を含める必要があります。 

ウェーブの所有権とガバナンスを確立することは、ウェーブ作業、プログラムの依存関係、変更管理、問題、リスクを管理および追跡するために重要です。計画を管理するためのガバナンスフレームワークが整っていることを確認します。

ウェーブプランの概要を表示するには、デフォルトのウェーブコンストラクトから始めます。ウェーブ内で何が起こりますか? 初期入力が定義されたら、ウェーブを開始できます。通常、アクティビティは次のようになります。 

  1. カットオーバープランを絞り込みます。このアクティビティでは、他の内部チームや外部チームとの調整など、移行時に実行する必要があるランブックとステップについて概説する必要があります。

  2. ロールバックプランを絞り込みます。問題が発生した場合にアプリケーションをロールバックするには、何をする必要がありますか?

  3. ターゲットインフラストラクチャを準備します。たとえば、 AWS ランディングゾーン (AWS アカウント、セキュリティ、ネットワーク、インフラストラクチャサービス、その他のサポートインフラストラクチャ) を作成または拡張できます。

  4. ターゲットインフラストラクチャをテストします。

  5. 移行ツールを操作します。たとえば、レプリケーションエージェントをインストールし、データ転送を開始します。

  6. カットオーバープランとランブックのドライランを実施します。参加しているチームメンバー全員をグループ化し、すべてのステップを事前に確認します。

  7. データレプリケーションとインフラストラクチャのデプロイをモニタリングします。

  8. でインフラストラクチャとアプリケーションの運用の準備が整っていることを確認します AWS。

  9. セキュリティの準備状況を確認します。

  10. 該当する場合は、コンプライアンスと規制要件 (ワークロード検証の移行前と移行後など) を確認します。

  11. アプリケーションを に移行 AWS し、本番稼働前のテストを実行します。

  12. 運用チームと移行チームが問題を解決するために完全に対応できる 3 日間など、移行後のサポートを提供し、最適化を適用します。

  13. 移行後のレビューを実施します。学んだ教訓を文書化し、将来の波に組み込んでください。

  14. 運用上の引き渡しとレポート用のメトリクスの取得を確認して、ウェーブクロージャを実行します。

これらの各アクティビティにかかる時間は、スコープの複雑さ、波の容量、関係者、および固有の状況によって決まります。可能な限り、遅延や移行ブロッカーの影響を軽減するため、ウェーブを小さくすることをお勧めします。チームで、ウェーブのデフォルト期間を決定します。

次に、日付を分析して、空のウェーブの初期高レベル構造を作成します (まだアプリケーションが割り当てられていません)。以下の質問を検討してください。

  • 移行プログラムの合計期間を教えてください。 

  • 期限は何ですか?

  • データセンターの終了日は固定されていますか? 

  • コロケーション契約の終了日はありますか? 

  • アプリケーションとインフラストラクチャの更新サイクルは何ですか? 

  • アプリケーションのメンテナンスとリリースサイクルは何ですか? 

  • 移行を避ける日付 (リリースとメンテナンスのサイクル、年末、祝日、月末処理など) はありますか?

これらの考慮事項を考慮して、ウェーブを計画にプロットします。移行プロセスを高速化するには、可能な限り波を重ねることをお勧めします。波が重複する鍵は、波内で何が起こるかを定義して検討することです。通常、デプロイアクティビティ、ターゲットインフラストラクチャの検証、データ同期はウェーブの前半に行われます。後半では、実際の移行、テスト、運用の引き渡しに焦点を当てます。つまり、プロセスの半分ごとに異なるチームが関係し、ある程度の効率を得ることができます。例えば、ターゲットインフラストラクチャの準備に関与したチームが作業を完了するとすぐに、次のウェーブの要件に取り組むことができます。一般的に、移行に対するファクトリのようなアプローチを容易にするために、ほとんどの波の長さと構造が似ていることをお勧めします。ただし、ウェーブプランニングプロセスでは、特定のウェーブのサイズを拡張して、依存関係や運用要件を満たすことができます。 

次に、特定された依存関係グループに基づいて、含めることができる依存関係グループの数の観点からウェーブの最大サイズを決定します。波のサイズは通常、リスク選好度 (許容できる並列変更の量など) とリソースの可用性 (使用可能なリソース、スキル、予算で実行できる並列変更の量など) によって決まります。ただし、早期計画中は、リソースの要件と可用性によって制限しないでください。複数の依存関係グループを含むウェーブは、将来の反復で小さなウェーブに分解できます。

特定のウェーブの依存関係グループを確認したら、ウェーブを移行するためのリソース要件を確認します。リソース要件に基づいてウェーブサイズ (含まれる依存関係グループの数) を調整することを検討してください。これにより、波が小さくなったり大きくなったりする可能性があります。必要に応じて、すべてのウェーブが定義されるまでウェーブプランを繰り返します。プロセス全体でサポートするスペシャリストを提供できる AWS プロフェッショナルサービスまたは AWS 移行コンピテンシーパートナーと連携することを検討してください。

変更の管理

アプリケーションと関連するインフラストラクチャのポートフォリオは、移行プログラムのライフサイクル中に変更されます。長時間実行される移行プログラムは、通常のビジネスの進化と変化と共存します。アプリケーションは、移行を待つにつれて進化し続けます。サーバーは追加または削除され、新しいインフラストラクチャはオンプレミスにデプロイされます。ウェーブグループまたは依存関係グループの範囲を変更する必要があります。特に、移行日が近づいた場合、以前に不明な依存関係が特定された場合、または新しいサーバーがインベントリに含まれている場合は、変更が必要です。これは、移行自体中に発生することがあります。

スコープの変更は、依存関係グループとウェーブに影響します。変更を処理し、影響を最小限に抑えるには、スコープ制御メカニズムを確立することが重要です。スコープ変更管理メカニズムには、スコープの単一の信頼できるソースの定義が必要です。これは、移行プログラムのガバナンスで定義されているように、スコープを管理するためのツール、または .csv ファイル、スプレッドシート、またはデータベースである場合があります。関係者がアクションを実行できるように、変更を特定し、影響を分析し、変更を関係者に伝える必要があります。ウェーブプランは結果として反復されます。