Orientación general
Sugerencia
Este contenido es un extracto del libro electrónico, ".NET Microservices Architecture for Containerized .NET Applications" (Arquitectura de microservicios de .NET para aplicaciones de .NET contenedorizadas), disponible en Documentación de .NET o como un PDF descargable y gratuito que se puede leer sin conexión.
En esta sección se proporciona un resumen de cuándo elegir .NET 8 o .NET Framework. Se proporcionan más detalles acerca de estas opciones en las secciones siguientes.
Use .NET 8 con contenedores de Linux o Windows para la aplicación de servidor de Docker en contenedor en los casos siguientes:
Tenga necesidades multiplataforma. Por ejemplo, si quiere utilizar contenedores de Linux y Windows.
La arquitectura de la aplicación esté basada en microservicios.
Necesite iniciar contenedores rápidamente y quiera que una pequeña superficie por contenedor alcance una mejor densidad o más contenedores por unidad de hardware con el fin de reducir costos.
En resumen, al crear aplicaciones .NET en contenedores, debe optar por .NET 8 como opción predeterminada. ya que esta opción presenta muchas ventajas y es la que mejor se adapta a la filosofía y al estilo de trabajo de los contenedores.
Una ventaja adicional de usar .NET 8 es que puede ejecutar versiones paralelas de .NET para aplicaciones en la misma máquina. Esta ventaja es más importante para servidores o máquinas virtuales que no utilizan contenedores, porque los contenedores aíslan las versiones de .NET que necesita la aplicación. (Siempre que sean compatibles con el sistema operativo subyacente).
Use .NET Framework para la aplicación de servidor Docker en contenedor cuando:
La aplicación ya utilice .NET Framework y dependa fuertemente de Windows.
Es necesario usar API de Windows que no sean compatibles con .NET 8.
Es necesario usar bibliotecas de .NET de terceros o paquetes NuGet que no estén disponibles para .NET 8.
Utilizar .NET Framework en Docker puede mejorar sus experiencias de implementación minimizando los problemas de implementación. Este escenario de migración mediante lift-and-shift es importante para aplicaciones en contenedor heredadas que se desarrollaron originalmente con .NET Framework, como formularios web de ASP.NET, aplicaciones web MVC o servicios de WCF (Windows Communication Foundation).
Recursos adicionales
Libro electrónico: Modernize existing .NET Framework applications with Azure and Windows Containers (Libro electrónico: Modernización de las aplicaciones .NET Framework existentes con contenedores de Azure y de Windows)
https://aka.ms/liftandshiftwithcontainersebookSample apps: Modernization of legacy ASP.NET web apps by using Windows Containers (Aplicaciones de ejemplo: Modernización de aplicaciones web de ASP.NET heredadas mediante contenedores de Windows)
https://aka.ms/eshopmodernizing