一般的なガイダンス
ヒント
このコンテンツは eBook の「コンテナー化された .NET アプリケーションの .NET マイクロサービス アーキテクチャ」からの抜粋です。.NET Docs で閲覧できるほか、PDF として無料ダウンロードすると、オンラインで閲覧できます。
このセクションでは、.NET 8 または .NET Framework を選ぶ場合の概要を示します。 後続のセクションでこれらの選択の詳細について説明します。
次の場合には、コンテナ化された Docker サーバー アプリケーションで、.NET 8 と Linux または Windows のコンテナーを併用します。
クロスプラット フォームが必要である。 たとえば、Linux と Windows のコンテナーの両方を使用する場合。
アプリケーション アーキテクチャがマイクロサービスに基づく場合。
コンテナーを高速で起動する必要があり、かつコンテナーあたりのフットプリントを小さくして密度を高めたり、ハードウェア ユニットあたりのコンテナーを増やしてコストを削減したりしたい場合。
つまり、コンテナ化された .NET アプリケーションを新たに作成する場合には、.NET 8 を既定の選択肢として考慮する必要があります。 これには多くの利点があり、コンテナーの理念や作業スタイルとぴったりと適合します。
さらに .NET 8 を使う利点は、同じマシンで複数の .NET バージョンのアプリケーションを同時に実行できることです。 この利点は、コンテナーを使用しないサーバーまたは VM にとってはさらに重要になります。コンテナーは、アプリが必要とする .NET バージョンを特定するためです。 (基礎となる OS と互換性がある場合。)
次の場合には、コンテナー化された Docker サーバー アプリケーションで、.NET Framework を使用します。
現在、アプリケーションで .NET Framework を使用し、Windows で強い依存関係がある場合。
.NET 8 でサポートされていない Windows API を使う必要がある。
.NET 8 で使用できないサードパーティ製の .NET ライブラリまたは NuGet パッケージを使う必要がある。
Docker で .NET Framework を使用すると、展開に関する問題を最小限に抑えて、展開のエクスペリエンスを改善できます。 この "リスト アンド シフト" シナリオは、ASP.NET WebForms、MVC Web アプリ、WCF (Windows Communication Foundation) サービスなどの従来の .NET Framework を使用して開発されたレガシー アプリケーションをコンテナー化する場合に重要です。
その他のリソース
電子ブック: Azure および Windows コンテナーで既存の .NET Framework アプリケーションを最新化する
https://aka.ms/liftandshiftwithcontainersebookサンプル アプリ: Windows コンテナーを使用した従来の ASP.NET Web アプリの最新化
https://aka.ms/eshopmodernizing
.NET