AWS、Linux対応の.NET Coreへ、Windows用.NET Frameworkアプリの移植支援ツール「Porting Assistant for .NET」発表
Amazon Web Services(AWS)は、.NET Frameworkを用いて開発されたアプリケーションを、.NET Coreを用いたアプリケーションへ移植するための支援ツール「Porting Assistant for .NET」を発表しました。
.NET FrameworkはWindowsアプリケーションを開発するためのWindows専用フレームワークおよびランタイムとしてマイクロソフトが提供してきたものです。
しかしマイクロソフトは2015年に.NET FrameworkのサブセットとしてWindows、Mac、Linuxに対応したオープンソースの.NET Coreを発表。
2019年には.NET Coreが.NET Frameworkを引き継ぐとして.NET Coreへの開発に注力し、.NET Framworkは現バージョンである4.8以後、新機能の開発は行われなくなることが発表されました。
参考:[速報]オープンソースの「.NET 5」がすべての.NETを引き継ぐ。.NET Frameworkと.NET CoreとXamarinは「.NET 5」に。Microsoft Build 2019
.NET CoreはWindows、Mac、Linuxに対応するため、特にサーバアプリケーションに関しては.NET Coreで開発されたアプリケーションはWindowsだけでなくMac、Linuxで容易に実行可能でしょう。
一方、.NET FrameworkはWindows専用のフレームワークおよびランタイムであり、これを用いて開発されたアプリケーションはWindows専用アプリケーションとなります。
Windows対応からLinux対応へ移植を支援
今回AWSが発表した「Porting Assistant for .NET」は、このWindows専用の.NET Frameworkで開発されたアプリケーションを解析し、LinuxやMacにも対応する.NET Coreへの移植を支援してくれるツールです。
どのように機能するかは、AWSブログの記事「Porting Assistant for .NET を発表」で、次のように説明されています。
Porting Assistant for .NET は、アプリケーションのソースコードとパブリック API と NuGet パッケージの依存関係の完全なツリーの両方を評価して、.NET Core と互換性のないものを特定し、互換性のあるものが代わりに利用できる場合にはデベロッパーにその旨を提示します。API とパッケージ置換の提案エンジンは、不足しているパッケージと API の使用パターンと頻度についてアシスタントが学習するにつれて、経時的に改善するように設計されています。
図で示すと以下のようになります。製品ページ「Porting Assistant for .NET - Amazon Web Services」の図を記事幅に合わせて一部改変して掲載します。
Porting Assistant for .NETは機械学習を用いて提案を行っているとのことで、すでに何十万ものパッケージを分析し学習したモデルが使われているものの、今後利用者が分析結果を共有をオプトインすることで、さらに学習し改善された結果を出せるようになるとのことです。
あわせて読みたい
SUSEがRancher Labsの買収を発表。Rancherは引き続きマルチベンダサポートを維持
≪前の記事
オンプレミス用AWS「AWS Outposts」でAmazon RDSが利用可能に。MySQLとPostgreSQL対応