概要
アプリケーションの移行とは、アプリケーションをある環境から別の環境へと移すことでワークロードを改善できるプロセスのことです。一般的なアプリケーション移行には、あるクラウド環境から別のクラウド環境への移行、あるデータセンターから別のデータセンターへの移行、パブリッククラウドからプライベートクラウド・サービスまたはハイブリッドクラウド・サービスへの移行、オンプレミスデータセンターからクラウドプロバイダーへの移行などがあります。
クラウドへの移行とは、データやアプリケーションをオンプレミスデータセンターからクラウドベースのインフラストラクチャに、またはあるクラウド環境から別のクラウド環境に移動させるプロセスのことです。後者は「クラウドツークラウド移行」とも呼ばれます。クラウド環境でのスケーリングやパフォーマンス向上のためにアプリケーションに変更を加えることを指す場合もあります。また、データ移行とは、あるストレージシステムから別のストレージシステム、またはあるコンピューティング環境から別のコンピューティング環境へとデータを移すプロセスのことです。
アプリケーション移行のパターン
アプリケーションの移行には、さまざまなパターン (方法) があります。
リタイア/リプレース:アプリケーションを削除したり、新しいアプリケーションを選択したりする際には、これが最適な選択肢となる場合があります。たとえば、アプリケーションの価値が低下した場合、アプリケーションの機能を環境内の別のものでカバーできる場合、アプリケーションを SaaS (Software-as-a-Service) プラットフォームなどの新しいソリューションに置き換えることでコストを削減できる場合などです。
リホスト: 大幅な変更を加えずに、アプリケーションを移行します。リフトアンドシフトとも呼ばれ、他の移行方法よりも時間がかからず、移行に関連するコストを削減できます。しかし、アプリケーションに変更を加えずにリホスティングすると、クラウドネイティブの機能を使わずにクラウドでアプリケーションを実行することになり、長期的にはコストが高くなってしまう可能性があります。
リプラットフォーム:アプリケーションに小さな変更 (オペレーティングシステムの変更や、クラウドネイティブのマネージドデータベースで機能させるためのアプリケーションの調整など) を加えます。
リファクタリング:リアーキテクトとも呼ばれ、アプリケーションの一部を再コーディングしてクラウドネイティブの機能を使用できるようにするなど、アプリケーションに大幅な変更を加えます。
リライト:リビルドとも言い、アプリケーションをクラウド用に書き直します。
Red Hat のリソース
アプリケーション移行の課題
アプリケーションをクラウドに移行することには、運用効率の向上、デプロイ時間の短縮、コスト削減など、さまざまなメリットがあります。しかし、次のような課題もあります。
コスト:慎重に計画を立てなければ、想定外の費用がかかる可能性があります。予算内に収めるためには、運用支出、新しいライセンス料、新しいツールに関連するトレーニング費用などを考慮する必要があります。
ダウンタイム:アプリケーションに大きな変更を加えると、予期せぬダウンタイムにつながる問題が発生する可能性があります。
技術的な複雑さ:依存関係によってアプリケーションのリファクタリングやリプラットフォームがさらに複雑になり、時間を要するものになる可能性があります。さらにその複雑さゆえに、移行を効果的に管理するエキスパートを探す際にスキルギャップが発生する可能性もあります。
変更管理:組織によるアプリケーションの使用方法が異なることで、移行プロジェクトが遅れる可能性があります。
ライセンスおよびコンプライアンス:ソフトウェアのライセンスを適切に管理する能力は重要です。エンタープライズ・アプリケーションを文書化し、それらのライセンスを記録しておくことは、クラウド・コンピューティングに関係するため重要です。また、クラウドに移行する場合、組織は、クラウドに移行するデータが保護されていることと、関連する業界や政府の規制をすべて遵守していることを確認する必要があります。
アプリケーションを移行する理由
移行により、柔軟性を高め、メンテナンスを単純化し、パフォーマンスを向上させる機会が得られます。アプリケーション移行の理由は、モダナイゼーション、コンテナ化、技術的負債、イノベーションなど、複数あります。
組織がアプリケーションの運用上の課題を分析し、改善を望む場合、次のような問題を検討することになるでしょう。
複雑性:このアプリケーションは社内で開発されたか。いつから使用されているか。このアプリケーションに依存している他のアプリケーションやワークフローはあるか。もしあるなら、その数はいくつか。
重要性:このアプリケーションは毎日どのくらい利用されているか。誰が管理しているか。業務に支障がでない範囲で許容できるダウンタイムはどの程度か。このアプリケーションが使用されているのは本番環境か、開発環境か、テスト環境か、あるいはこの 3 つすべての環境か。
コンプライアンス:このアプリケーションが満たす必要がある規制要件は何か。
可用性:このアプリケーションが満たす必要があるアップタイム基準は何か。
アプリケーションの移行の段階とベストプラクティス
移行理由が特定され明確になったら、ベストプラクティスを活用しながらプロセスを 4 段階に分けて進めることができます。
アプリケーションの評価
第 1 段階では、IT インフラストラクチャ、レガシーシステム、移行に影響を与える可能性のある制限など、アプリケーションのポートフォリオを評価する必要があります。また、コンプライアンス要件、スケーラビリティ、ビジネスニーズを考慮して、移行先の環境を準備する必要があります。この評価段階は、クラウドに対応しているアプリケーションと変更が必要なアプリケーションを特定するために重要です。
組織的側面の評価
アプリケーションの評価が完了したら、次は関連するチームと共同して取り組みます。これらのチームは移行計画に参加する機会を持ち、移行が自分たちや既存のビジネスプロセスにどのような影響を及ぼす可能性があるかを認識します。この段階で重要なのはコミュニケーションです。
移行方法の選択と戦略の立案
この段階では、まずアプリケーションをグループ化し、移行を段階的に行うことができます。整理された状態を維持するために、各フェーズを文書化してチームに情報を提供し、裏付けとなる文書を収集します。
自動化およびテスト
効率を高めるために、反復パターンを自動化することができます。自動化により、移行プロセスがスピードアップし、リスクが低減し、コストが削減されます。移行が完了したら、移行が成功したかどうかを確認するためにテストを実行します。
Red Hat が提供できるサポート
Red Hat® OpenShift® は構築とデプロイから実行と管理まで、アプリケーション開発のライフサイクル全体を効率化します。マルチクラウド環境やハイブリット環境全体で AI を活用してアプリケーションを構築したりモダナイズしたりするなど、複雑なアプリケーションのモダナイゼーションと移行を単純化することで、開発者や IT 運用チームの効率性および生産性を高めます。
OpenShift がアプリケーションの移行をサポートするのと同様に、Red Hat OpenShift の機能である Red Hat OpenShift Virtualization により、IT チームは先進的なプラットフォーム上でコンテナと仮想マシン (VM) を同時に実行できるようになるため、管理が単純化され、本稼働開始までの時間が短縮されます。 組織は、オンプレミス、パブリッククラウド、エッジで稼働する単一の一貫したプラットフォームに VM を移行して管理するうちに、運用の複雑性を軽減することができます。また、OpenShift と Kubernetes の利点を VM で稼働するアプリケーションにもたらす、単一の管理インタフェースと開発および運用ツールのセットを利用することもできます。
Red Hat Application Foundations にはアプリケーション移行ツールキットが含まれており、開発チームはモダナイゼーションを評価、計画、設計し、ビジネスエクスペリエンスやエンドユーザー・エクスペリエンスを損なうことなく、新しい先進的なクラウドネイティブ・アーキテクチャに簡単に統合できるようになります。Red Hat Application Foundations は、オンプレミスまたはクラウドで稼働するアプリケーションで使用でき、OpenShift と組み合わせることで、アプリケーションライフサイクル全体にわたって実行を最適化するプラットフォームを構築します。
Red Hat 公式ブログ
Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。