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