Refactorización para usar las versiones más modernas de .NET y migración a Linux
Descripción general
La modernización de las aplicaciones heredadas de .NET Framework puede ser útil para mejorar la seguridad, el rendimiento y la escalabilidad. Una forma eficaz de modernizar las aplicaciones de .NET Framework es migrarlas a una versión moderna de .NET (6 o superior). Estas son algunas de las principales ventajas de migrar estas aplicaciones a .NET de código abierto:
-
Reducir los costos asociados al uso de licencias de Windows usando un sistema operativo Linux.
-
Aprovechar la disponibilidad de los lenguajes modernos.
-
Obtener un rendimiento optimizado para Linux.
Muchas organizaciones siguen utilizando versiones anteriores de .NET Framework. Esto puede plantear riesgos de seguridad, ya que Microsoft ya no aborda las vulnerabilidades de las versiones anteriores. Microsoft ha dejado de dar soporte a las versiones recientes de .NET Framework 4.5.2, 4.6 y 4.6.1. Es muy importante evaluar los riesgos y beneficios de seguir utilizando las versiones anteriores del marco. Para reducir el riesgo y los costos, puede valer la pena invertir tiempo y esfuerzo en la refactorización a una versión moderna de .NET.
Impacto del costo
Considere utilizar un tipo de instancia de EC2 de uso general (m5), que ofrezca un conjunto equilibrado de recursos de computación, de memoria y de red. Estas instancias son adecuadas para una variedad de aplicaciones, como servidores web, bases de datos medianas y repositorios de código fuente.
Por ejemplo, una instancia m5.xlarge bajo demanda con 4 vCPU y 16 GB de memoria en Windows Server (con licencia incluida) en la región Este de EE. UU. (Norte de Virginia) cuesta 274,48 USD al mes. Los mismos recursos en un servidor Linux cuestan 140,16 USD al mes. En este ejemplo, el costo se reduce en un 49 % al migrar la aplicación de .NET Framework a una versión moderna de .NET y poner en marcha la aplicación en un servidor Linux. El costo puede variar en función de las opciones (por ejemplo, el tipo de instancia, el sistema operativo o el almacenamiento) que elija al seleccionar una instancia de EC2
La migración de estas aplicaciones .NET Framework a la versión moderna de .NET requiere un esfuerzo por parte del equipo de desarrollo. Debe evaluar las aplicaciones y sus dependencias para comprobar si son compatibles con la versión de la plataforma de destino. AWS Asistente de portabilidad para .NET
Existen otras herramientas, como Kit de herramientas de AWS para la refactorización de .NET y Asistente para la actualización de .NET
Recomendaciones de optimización de costos
Para migrar aplicaciones de .NET Framework, haga lo siguiente:
-
Requisitos previos: para utilizar Asistente de portabilidad para .NET, debe instalar .NET 5 o una versión posterior en la máquina en la que va a analizar el código fuente de la aplicación. Los recursos de la máquina deben tener una velocidad de procesamiento mínima de 1,8 GHz, 4 GB de memoria y 5 GB de espacio de almacenamiento. Para obtener más información, consulte Prerequisites en la documentación de Asistente de portabilidad para .NET.
-
Evaluación: descargue Asistente de portabilidad para .NET como un archivo procesable
(de descarga). Puede descargar e instalar la herramienta en su máquina para iniciar la evaluación de sus aplicaciones. La página de evaluación contiene proyectos, API y paquetes portados que son incompatibles con las versiones modernas de .NET. Por este motivo, se producen errores de compilación en la solución después de la evaluación. Puede ver o descargar los resultados de la evaluación en un archivo CSV. Para obtener más información, consulte Port a solution en la documentación de Asistente de portabilidad para .NET. -
Refactorización: después de evaluar la aplicación, puede migrar sus proyectos a la versión del marco de trabajo de destino. Al migrar una solución, Asistente de portabilidad modificará los archivos del proyecto y parte del código. Puede consultar los registros para revisar los cambios en el código fuente. En la mayoría de los casos, el código requerirá un esfuerzo adicional para completar la migración y las pruebas de cara a la producción. Según la aplicación, algunos de los cambios pueden incluir el marco de la entidad, la identidad y la autenticación. Para obtener más información, consulte Port a solution en la documentación de Asistente de portabilidad para .NET.
Este es el primer paso para modernizar sus aplicaciones a contenedores. La modernización de las aplicaciones de .NET Framework y su almacenamiento en contenedores de Linux puede implicar una serie de factores empresariales y técnicos. Uno de los factores clave es la reducción del costo total de propiedad al pasar de un sistema operativo Windows a uno Linux. Esto reduce los costos de licencia al migrar la aplicación a una versión multiplataforma de .NET y a contenedores para optimizar la utilización de los recursos.
Cuando la aplicación se haya migrado a Linux, podrá utilizarla AWS App2Container
Consideraciones y recursos adicionales
-
Si tiene aplicaciones creadas en VB.NET (un marco heredado de 2002) y quiere migrarlas a .NET 6, consulte la publicación Port legacy VB.NET applications to .NET 6.0 with Porting Assistant for .NET
del blog de cargas de trabajo de Microsoft en AWS. -
Si tiene aplicaciones heredadas en Windows Communication Foundation (WCF) y desea ponerlas en marcha en una versión moderna de .NET, puede adoptar CoreWCF. Para obtener más información, consulte la publicación Modernizing legacy WCF applications to CoreWCF using Porting Assistant for .NET
del blog de cargas de trabajo de Microsoft en AWS. -
Puede agregar un asistente de portabilidad como una extensión a su IDE de Visual Studio. Esto le permite realizar todas las tareas necesarias para convertir el código sin necesidad de cambiar entre el IDE y la herramienta Asistente de portabilidad para .NET. Para obtener más información, consulte la publicación Accelerate .NET application modernization with Porting Assistant for .NET Visual Studio IDE extension
del blog de cargas de trabajo de Microsoft en AWS. -
Asistente de portabilidad para .NET de AWS es ahora una herramienta de código abierto
con los componentes de análisis de código fuente y compatibilidad empleados en la evaluación. Esto puede animar a sus desarrolladores a utilizar y compartir los conocimientos y las prácticas recomendadas de portabilidad de .NET. -
Puede migrar aplicaciones de .NET Framework a las versiones modernas de .NET en Linux mediante Kit de herramientas de AWS para la refactorización de .NET. Para obtener más información, consulte la publicación Accelerate .NET modernization with AWS Toolkit for .NET Refactoring
del blog de cargas de trabajo de Microsoft en AWS.