既存の.NET Frameworkアプリの.NET 5への移行に関する考慮事項やレガシーアプリのモダナイゼーションについて解説する連載。今回は、.NET Frameworkから.NET 5へのワークロードごとの移行方法の概要や参考情報などを紹介します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
既存の.NET Frameworkアプリの.NET 5への移行に関する考慮事項やレガシーアプリのモダナイゼーションについて解説する本連載「.NET 5モダナイズ入門」。前回は.NET統合の現状や.NET 5のリリースにおけるキャッチアップすべきことなどについて解説しました。今回は、.NET 5世代のアプリケーションライフサイクルマネジメント(ALM)および、.NET Frameworkから.NET 5へのワークロードごとの移行方法の概要や参考情報などを紹介します。
既存の.NET Frameworkアプリケーションを、できるだけ良い形で.NET 5または、それ以降のバージョンの.NETへ移行するためにはどうしたらよいのでしょうか。最も重要なのは、アプリケーションのライフサイクルに対する考え方の違いを理解することです。その上で、.NET Frameworkと.NET 5の技術上の違いを把握し、移行戦略を立てることです。
.NET 5のアプリケーションのサポートポリシーについては下記の公開情報があります。
上記の通り、.NET 5はLong Term Support(LTS)ではないため、.NET 6リリースの3カ月後(2022年2月ごろ)にサポート終了となります。LTSである.NET 6は、リリース後3年間、または次のLTSリリースの出荷後12カ月のメンテナンス期間のいずれか長い方でサポートされることになっています。従って、現時点から大規模なアプリケーションの移行を考える場合にはLTSである.NET 6をターゲットにするとスムーズに進められると考えられます。
つまり、今後はLTSであっても3年程度しかサポート期間がない前提でアプリケーションの保守を考える必要があり、次のLTSバージョンがリリースされたら新しいLTSバージョンに移行し続ける必要があります。企業向けアプリケーションにとっては非常に厳しい要件となりますが、このようなライフサイクルになったのには理由があると考えられます。
これは、完全に筆者の予想ですが、おそらく昨今の技術やセキュリティ要件の進化のスピードに対応し、競合企業との競争もある中で、アプリケーションのプラットフォームやクラウドのプラットフォームなどを現実的な価格で継続して提供し続けるには、LTSで3年のサポート期間が現実的な落としどころだったのではないでしょうか。
この傾向は今後もしばらくは変わらない可能性が高いので、アプリケーションを運用する企業側が、新しいライフサイクルポリシーに対応できるように自社の体制を整えていく。そして、アプリケーション開発を請け負う企業側も、今後に即して提案したり、開発したりできるように変わっていく必要があります。
今後の.NETライフサイクルの下では、長いサポート期間を前提に一気に大規模アプリケーションを開発し、その後は最低限度の対応だけで塩漬けにして運用することは難しくなります。継続的に技術力を保持しアプリケーションを改善していくためには、長期的にチームを維持し継続的にリリースしていく体制に変える必要があるでしょう。
クラウドを利用する観点から考えても、例えばPaaSである「Azure App Service」の場合、当該バージョンの.NETのサポートが終了すれば、程なくしてAzure App Serviceでのサポートも終了します。また、アプリケーションのランタイムだけではなくTLSなどのサポートも、業界全体の流れに従い古いバージョンのサポートは終了していきます。つまり、クラウド上でアプリケーションを運用する場合、オンプレミスと違い、利用できるテクノロジーの主導権はプラットフォーマー側にあり、ユーザー側にはないのです。
また、サポートが終了してしまえば、文字通り利用できなくなってしまうので(裏技的な利用方法が使える場合もありますが、更新プログラムが適用されないなど制限があるので、時間稼ぎにしかなりません)、短期間でアプリケーションをマイグレーションできるノウハウおよび体制が必要となります。
なお.NET 6をターゲットにする場合、今まで.NET Frameworkでの開発しか経験がないと、いきなり大規模アプリケーションの移行に挑戦するのはリスクが大き過ぎます。.NET 6の正式リリースは2021年11月の予定なので、まずは、アプリケーションの一部や小規模なアプリケーションの.NET 5移行を検証したり、小規模な.NET 5のアプリケーションを一から開発したりして、一定の経験を積んだ上で大規模アプリケーションの移行について戦略を立てた方がよいでしょう。
今は働き方を変えていく外圧が非常に高まっています。それは同時に、アプリケーションのライフサイクルに対する考え方を大きく変えるような提案の承認をもらう好機ともいえます。従って、移行戦略を立てる上では、これまでの自社の慣習や前例から選択肢を絞ることはせず、白紙の状態から選択肢を検討することをお勧めします。
Copyright © ITmedia, Inc. All Rights Reserved.