Blog de Amazon Web Services (AWS)

Cómo actualizar y modernizar Microsoft Windows Server 2012 con contenedores de Windows en AWS

Por Mike Adams, Bill Pfeiffer, y Gianpaolo Albanese
Esta entrada de blog es la tercera de una serie de cuatro partes sobre cómo actualizar Windows Server 2012 y 2012 R2. El objetivo de esta serie es ofrecer opciones para gestionar el próximo evento de fin de soporte en octubre. En la primera parte se describe el dilema del fin del soporte, además de cómo realizar una actualización manual i n-place , además de información sobre el Programa de migración para final del soporte (EMP). En la segunda parte se explica cómo automatizar la actualización mediante Amazon Systems Manager (SSM). La parte 3 muestra cómo aprovechar las opciones de modernización, como AWS App2Container, para gestionar una actualización. La parte 4 muestra cómo actualizar Microsoft Windows Server 2012 mediante el servicio de migración de aplicaciones de AWS.

Introducción

Bienvenido a la tercera parte de nuestra serie Navigating Windows Server sobre la finalización del soporte (EOS). Analizaremos las opciones de modernización de EOS mediante contenedores de Windows y, en situaciones en las que la actualización no sea viable, le mostraremos cómo el Programa de migración para final del soporte (EMP) puede ayudar a empaquetar las aplicaciones existentes que se ejecutan en un sistema operativo (SO) en fin de soporte a una nueva versión del sistema operativo en AWS.¡Vamos a sumergirnos!

Cambie la plataforma de las aplicaciones web ASP.NET antiguas a contenedores de Windows

A medida que ayudamos a resolver los problemas de fin de soporte (como se ve en la figura 1) con nuestros clientes, estamos viendo oportunidades de utilizar contenedores de Windows para facilitar la administración de aplicaciones antiguas y monolíticas. Para las aplicaciones web ASP.NET, los contenedores de Windows son la mejor manera de ejecutarlas. Los contenedores son portátiles, escalables y confiables por naturaleza. Al ejecutar aplicaciones web ASP.NET en contenedores de Windows, ya no tendrá que preocuparse por rediseñar o refactorizar su código fuente. Además de abordar los sistemas operativos en fin de soporte de Windows, puede empezar (o continuar) modernizando sus aplicaciones mediante el cambio de plataforma a contenedores de Windows.

A flow chart diagram showing the various migration and modernization approaches for a .NET web application.

Figura 1. Enfoques de migración y modernización: Rehost, Replatform, Refactor

Modernización de las aplicaciones de .NET Framework con App2Container

Para obtener más información sobre estos requisitos previos, consulte la documentación aquí.

  1. Determine si la aplicación tiene alguna dependencia subyacente del sistema operativo o API de Windows (por ejemplo, la interoperabilidad COM) que impida que la aplicación se mueva a un nuevo sistema operativo.
  2. Defina un sistema operativo Windows de destino en función de los requisitos de su organización:
  3. Asegúrese de que su aplicación sea compatible con App2Container (A2C).
  4. Determinar qué plataforma de orquestación te gustaría utilizar. Amazon ECS y Amazon EKS son las plataformas compatibles para la creación de contenedores de Windows y App2Container.
  5. Siga los pasos para configurar un equipo de trabajo remoto que ejecute la versión del sistema operativo de destino (Windows Server 2019 o 2022) y extraiga los artefactos de la aplicación del servidor de aplicaciones de origen de 2012.

Encontrará instrucciones paso a paso en el taller de modernización con AWS App2Container. El resultado, como se ve en la figura 2, es la aplicación web.NET modernizada en AWS.

A diagram displaying how a .NET modernized web application is hosted on the AWS Cloud.Figura 2. Ejemplo de modernización de .NET a AWS

  1. Descubra y analice su aplicación.
  2. Extraiga y almacene su aplicación en contenedores.
    • En su equipo de trabajo remoto, ejecute el comando extract para generar un archivo de aplicaciones para la aplicación especificada. Este archivo estará entonces disponible para copiarlo en su máquina de trabajo o especificar su prefijo de Amazon S3.
    • Ejecute el comando containerize para crear su DockerFile.
  3. Implemente su aplicación en contenedores.
    • Ajuste la configuración de implementación para incluir artefactos de Amazon ECS o Amazon EKS. A continuación, ejecute la implementación de la aplicación para enviar la imagen del contenedor a Amazon Elastic Container Registry (Amazon ECR) e implementar la aplicación en Amazon ECS o Amazon EKS.
    • Una vez que su aplicación esté correctamente agrupada en contenedores y asegurada para el acceso público, estará listo para planificar su implementación de producción. App2Container permite crear canalizaciones de integración y entrega continua (CI/CD) continuas para facilitar el despliegue de las aplicaciones. App2Container admite varias herramientas de CI/CD, como CodePipeline, Jenkins y Microsoft Azure DevOps. Para ver la implementación paso a paso de una canalización de CI/CD mediante App2Container, consulte la entrada del blog Generación de canalizaciones de CI/CD para aplicaciones ASP.NET en contenedores mediante AWS App2Container.
  4. Impulsar la producción.
    • Planifique el cambio de URL públicas de la aplicación antigua que se ejecuta en Windows Server 2012 al nuevo balanceador de carga que inicia la implementación de la aplicación en contenedores.
    • Si la aplicación no depende del sistema operativo, las actualizaciones a futuras versiones del sistema operativo serán tan sencillas como implementar un nuevo servidor de compilación con el último sistema operativo Windows, cambiar la línea FROM en el DockerFile de la aplicación (como se ve en la figura 3), crear una nueva imagen de contenedor (como se ve en la figura 4) y realizar una actualización continua.

Nota: Antes de implementarlo en producción, es necesario realizar las pruebas adecuadas para garantizar que no se produzcan cambios drásticos en el sistema operativo subyacente.

EOS ES:

A command that shows EOS OS Container Base image in DockerFile

Figura 3. Imagen base del contenedor EOS OS

Nuevo sistema operativo:

Figura 4. Nueva imagen base de OS Container en DockerFile

Para comprender mejor el proceso paso a paso del uso de App2Container, consulte la documentación pública de App2Container. Si desea profundizar en un caso de uso que también migre su base de datos a Amazon Relational Database Service (Amazon RDS) para SQL Server, consulte el taller de modernización con AWS App2Container.

Refactor: de .NET Framework a una versión moderna de .NET

Si su organización está preparada para refactorizar su código de .NET Framework a una versión moderna de .NET, puede aprovechar el Asistente de portabilidad para .NET y el kit de herramientas de AWS para la refactorización de .NET. Al migrar a .NET 6+, desbloqueas la posibilidad de ejecutar tu código .NET en contenedores de Linux.

Limpieza

Dado que este blog es una guía práctica, no necesitará realizar ningún paso de limpieza. El enfoque paso a paso le muestra exactamente cómo proceder con la actualización.

Resumen

En esta entrada de blog, guiamos a nuestros lectores sobre cómo actualizar y modernizar su aplicación web .NET mediante AWS App2Container. En la siguiente entrada de esta serie de blogs, analizaremos cómo utilizar AWS Application Migration Service para actualizar un sistema operativo Windows.

Tenga en cuenta que esta serie de blogs de cuatro partes ha analizado y presentado muchas opciones para abordar el fin de soporte y cómo AWS puede ayudarlo a abordar estos problemas con el uso de tecnología, herramientas y expertos.

Si necesita ayuda con la actualización, póngase en contacto con AWS para abordar su situación o necesidades específicas de EOS.

 

Este artículo se tradujo del Blog Post de AWS en Inglés.

 


Acerca de los autores

Mike Adams es un especialista mundial en comercialización de AWS. Su objetivo es migrar las cargas de trabajo de Microsoft a AWS y mostrar a los clientes cómo pueden lograr eficiencias operativas y de costos. Antes de trabajar en AWS, Mike ocupó puestos de marketing de productos en Ivanti, VMware, Symantec y VERITAS Software. Mike comenzó su carrera como analista industrial en Giga Information Group (que ahora forma parte de Forrester Research).

 

 

 

 

Bill Pfeiffer es arquitecto de soluciones sénior en Amazon Web Services. Bill se centra en ayudar a los clientes a diseñar, implementar y desarrollar una infraestructura segura y con costos optimizados. A Bill le apasiona ayudar a los clientes a resolver los desafíos empresariales con soluciones técnicas. Fuera del trabajo, a Bill le gusta viajar por los Estados Unidos con su familia en su autocaravana y competir en las Spartan Races de ultramaratones.

 

 

 

 

GianPaolo Albanese es un arquitecto de soluciones especializado en Microsoft para Amazon Web Services con sede en el área de Nueva York. GP se centra en ayudar a los clientes con sus arquitecturas, migraciones y optimización de Windows a la nube de AWS. GP ha sido un profesional de TI con más de tres décadas de experiencia en la industria FinTech, especializado en la gestión de infraestructuras a gran escala, migraciones y actividades de modernización. En los últimos dos años, GP ha centrado su energía en ayudar a los clientes a abordar los desafíos del final del soporte.

 

 

 

 

Revisores

JuanMa Silva quien es arquitecto de soluciones con especialidad en Microsoft para México y MCO. Cuenta con 15 años de experiencia en la industria de IT, en posiciones de Sysadmin, consultor para ayudar a migrar clientes a la nube y modernización de aplicaciones, soporte aplicaciones de misión critica basados en tecnologia Microsoft.