アプリケーション開発・管理・運用

レガシー.NETアプリをモダナイズしたい!移行時のポイントを解説

業務をよりスムーズに進めるためには、アプリのモダナイゼーションが欠かせません。では、アプリのモダナイズとはどのようなことを指すのでしょうか?この記事では、レガシーアプリのモダナイズについて、その方法やメリットを詳しく紹介します。レガシーアプリの活用でお悩みの方は、ぜひ参考にしてください。

レガシー.NETアプリをモダナイズしたい!移行時のポイントを解説

アプリケーション開発における課題別の解決方法とは? 〜Azureを導入するメリットも紹介〜

レガシーアプリとは

レガシーアプリという言葉をご存じでしょうか。レガシーアプリとは、過去の技術や言語を用いて作られたアプリケーションのことを指します。現行のOSではサポートされていないため、なかには動作しなかったり、一部の機能しか使えなかったりするものもあります。
例えば、Windows32bit版で作られたアプリは、64bit版では基本的に動作しません。このように、現在のシステムとは合っていないアプリのことをレガシーアプリと呼びます。

.NETアプリもレガシーアプリの1つ

Microsoftサービスをよく利用するなら、「.NET(ドットネット)アプリ」を使用した経験のある方もいることでしょう。実は、この.NETアプリもレガシーアプリの1つです。

.NET(ドットネット)とは、主にMicrosoft .NET Frameworkと呼ばれる開発環境を指す言葉です。もともと、この開発環境は、「Visual Studio .NET」という開発ツールを基に作られました。

Microsoft がVisual Studio .NET を提供した背景には、2000年6月、Microsoft が「Microsoft .NET(Microsoft・ドットネット)」というネットワークサービスを構築しようとしていたことが挙げられます。このサービスでは、パソコンから家の電子レンジまで、あらゆる電子機器をインターネット経由で連携させようとしていました。しかし、このネットワークサービスは、異なる通信技術の発達により世の中に普及しなかったため、現在は残っていません。今は開発環境である、Microsoft .NET Frameworkだけが残っています。

そのような背景があるMicrosoft .NET Frameworkを使用して作られた.NETアプリは、Python、Jscriptなどの言語には対応しているものの、JavaやPHPには対応していません。また、基本的には Windows以外のOSでは動作しないため、注意しましょう。

レガシーアプリはモダナイズが必要

.NETアプリをはじめとしたレガシーアプリは、たとえ今問題なく使えていたとしても、最新の製品や技術を用いた新しいアプリへと刷新が必要です。レガシーアプリを最新の環境へと刷新することを、モダナイズといいます。

レガシーアプリのモダナイズは、企業において解決すべき課題の最上位とも言えます。なぜなら、レガシーアプリを使用し続けることによって、以下のようなデメリットがあるからです。

レガシーアプリのデメリット

レガシーアプリを使い続けることによるデメリットには、まずアプリが正常に動作しないことが挙げられます。これは、一般的にレガシーアプリは特定のOSでしか作動せず、OSを新しくしてしまうと対応できないからです。互換性があったとしても、一部機能が使えないことも多々あります。

また、これらの問題を解決するため、社内の貴重なIT人材資源を浪費してしまうこともデメリットの1つです。レガシーシステムの保守や運用のために人材を割いてしまうと、本当に必要な最新システムの構築・運用に人材を割くことができません。
さらに、レガシーアプリはほかのアプリと連携しないという課題もあります。レガシーアプリは、後発のアプリと連携させられる設計となっていません。そのため、今使っているアプリと連携ができず、業務の効率が落ちてしまいます。

これらの問題は、経済産業省の「DXレポート ~ITシステム『2025年の崖』の克服とDXの本格的な展開~」でも取り上げられています。この資料によると、約8割もの企業が、レガシーシステムを未だに使用しているそうです。
当然、アプリのモダナイズにはそれなりに費用はかかります。しかしレガシーアプリを使用し続けることで、大規模な人件費増大につながっている恐れもあります。長い目で見て、今のうちにレガシーアプリをモダナイズすることは、企業にとって大きなメリットになると言えるでしょう。

モダナイズによるメリット

それでは具体的に、レガシーアプリをモダナイズすることでどのようなメリットが得られるのでしょうか? モダナイズすると必然的にクラウド化するケースが多いため、コスト面のメリットが取り上げられがちですが、コスト面の優位性は既知のものとし、本記事では運用面のメリットを3つ紹介します。

市場投入の早期化

レガシーアプリは、サポート終了までの技術しか取り入れられていません。そのため、現在のビジネスモデルに最適化された設計ではなく、便利な機能も充実していません。これでは、新しいサービスの市場投入に時間がかかって当然です。

その点、モダナイズによって開発環境が改善されれば、新しいサービスの設計・開発期間が大幅に短縮可能となり得るでしょう。市場投入が早期化されることで先行者利益が確保できるほか、開発コストの回収も早まることでしょう。

サービス継続性の向上

前述の通り、レガシーアプリは正常に稼働しない恐れがあるほか、外部連携も十分でないことがほとんどです。また、公式によるサポートも打ち切られていることがあるため、安定した運用とは程遠い状況にあるといってよいでしょう。

モダナイズ、特にクラウド化することで、現行と比べサービスの継続性は著しく向上します。多くのクラウドサービスが安定稼働に注力しており、外部連携によるデータ保全やサポートも手厚いからです。一時障害対応を請け負ってくれるサービスを選べば、自社負担を最小にとどめて継続性を維持することも可能です。

セキュリティの強化

レガシーアプリは現行OSでのサポートが終了している以上、セキュリティリスクを抱えています。不正アクセスやウイルスの侵入を防ぐ「ネットワークセキュリティ」はもちろん、システムの可用性・機密性・完全性を確保する「情報セキュリティ」も脆弱です。

昨今のセキュリティ意識の高まりを踏まえると、モダナイズにおいてセキュリティの強化は必須項目です。すなわち、レガシーアプリをモダナイズすることで、必然的にセキュリティは強化されると言えます。クラウド化する場合も同様であり、ほとんどのクラウドサービスが高度なセキュリティを有しています。

レガシーアプリをモダナイズするための5つのプロセス

レガシーアプリをモダナイズする上でもっとも一般的な手法が、アプリのクラウド化です。アプリのクラウド化に際しては、「合理化の5R」を踏まえることが最善だと定義されています。

合理化の5Rとは、「クラウド内の資産を移行・最新化する上で、資産ごとの最適な方法は何か」という点を評価するプロセスです。以降、合理化の5Rについて、各プロセスを具体的に紹介しましょう。

リホスト

リホストはアプリのクラウド化に際して、コードなどの書き換えをせず、既存の仕組みをそのまま移行する取り組みです。リホストに該当するアプリの評価基準は、アプリのサイズやビジネスへの優先度、変更許容範囲、互換性などです。

リホストすることで、クラウド化によるアプリ全体への影響を最小限に抑えられます。これにより、移行コストの削減やIT投資回収の迅速化、アプリ容量の軽量化が期待できます。

リファクター

リファクターは、アプリが移行後のプラットフォームに適合するように、コード設計を見直したり、書き換えたりする取り組みです。リファクターに該当するアプリの評価基準は、アプリのサイズや依存関係、ユーザートラフィック、開発プラットフォームなどです。

リファクタリングすることで、多くのアプリケーションに連なって運用コストが削減できます。またコードが最適化されていることで、アプリの更新や運用効率も向上します。

リアーキテクト

リアーキテクトは、クラウドプラットフォームとの互換性がないアプリを、クラウドネイティブになるよう再設計する取り組みです。リアーキテクトに該当するアプリの評価基準は、アプリのサイズや依存関係、開発プラットフォーム、運用コストなどです。

リアーキテクトすることで、レガシーアプリはクラウドネイティブアプリとして生まれ変わることになります。これにより、アプリのスケーラビリティやアジリティが向上するほか、コスト効率や運用効率が改善される可能性まであります。

リビルド

リビルドは、アプリをゼロから再構築する取り組みです。リビルドに該当するアプリの評価基準は、「アプリのクラウド移行に際して克服すべき差分の大きさ」「サポートの有無」そして「現在のビジネスプロセスとの乖離具合」です。

リビルドには工数がかかるものの、あらゆるレガシーアプリのモダナイズができるようになります。結果的に、イノベーションの加速やアプリ構築の短期化、運用コストの削減などの効果が得られます。

リプレイス

リプレイスはすべてのアプリをSaaS(クラウドサービスの1つ)に置き換え、常に最高のテクノロジーを享受する取り組みです。リプレイスに該当するアプリの評価基準は、「現在のアーキテクチャとSaaSに置き換えた場合の差分」や「自社のビジネスプロセス」そして「運用コスト」などです。

リプレイスすることで、レガシーアプリが生まれる背景が排除され、以後モダナイズを実施する必要がなくなります。加えて、ベストプラクティスが確立し、競争力のあるアプリへの投資・開発へとより注力し得るでしょう

ALTERBOOTHでレガシーアプリをモダナイズ

レガシー.NETアプリをモダナイズする上で、一般的かつ効果的な手段がクラウド化です。レガシーアプリのモダナイズは、既存システムの評価(分析)>クラウド移行>リソースの最適化、と進める必要があり、専門的な知見が求められます。自社ですべてを行うのは困難でしょう。

ALTERBOOTH(オルターブース)は、レガシーアプリのモダナイズを中心に、企業のクラウド導入・運用を支援しています。特に、Microsoft Azureに関しては「Microsoft Japan Partner of the Year 2020」に選ばれており、優れた実績と厚い信頼を得ています。

ALTERBOOTHでは、レガシー.NETアプリのモダナイズについて、以下の4点を重要なレシピとして提供しています。

  • ワーカープロセスを分離管理する
    システム障害などでサーバー全体がダウンしないよう、アプリ動作を切り離して管理する
  • パイプラインを確認する
    IISのバージョンに応じて最適なパイプラインに切り替える
  • 運用サービスでAzureを活用する
    Microsoft Azureの運用サービスを組み合わせて、クラウドネイティブな運用を可能とする
  • リビルドする
    The Twelve-Factor Appという方法論を用いてアプリをリビルドする

まとめ

.NETアプリをはじめとしたレガシーアプリは、使い続けることにより、企業に負荷がかかりかねません。モダナイズして、今の環境に合ったアプリに刷新することをおすすめします。モダナイズでお困りなら、ぜひALTERBOOTHのモダナイズサポートを検討してみてください。

  • fb-button
  • line-button
  • linkedin-button

無料メルマガ

RELATED SITES

関連サイト

CONTACT

サイト掲載の
お問い合わせ

TOP