AWS App2Container
Herramienta de línea de comandos que analiza aplicaciones Java/.NET on-premises y genera automáticamente imágenes de contenedor y artefactos de despliegue para ECS/EKS
Descripción general
AWS App2Container (A2C) es una herramienta de línea de comandos que analiza aplicaciones Java y .NET que se ejecutan on-premises o en EC2, automatizando la generación de imágenes Docker, la creación de definiciones de tareas ECS o manifiestos EKS, y la construcción de pipelines CI/CD. Detecta automáticamente las dependencias de la aplicación, conexiones de red y uso del sistema de archivos, reduciendo el trabajo manual necesario para la containerización.
Análisis de aplicaciones y proceso de containerización
El flujo de trabajo de App2Container consta de 4 pasos: inventory (descubrimiento), analyze (análisis), containerize (containerización) y generate (generación de artefactos de despliegue). El comando inventory detecta automáticamente las aplicaciones Java (Tomcat, JBoss, Spring Boot) y .NET (IIS) que se ejecutan en el servidor y muestra una lista. El comando analyze analiza en detalle las dependencias de la aplicación seleccionada (bibliotecas, archivos de configuración, variables de entorno, puertos de red) y genera un informe JSON con la información necesaria para la containerización. El comando containerize genera automáticamente un Dockerfile basado en los resultados del análisis y construye la imagen Docker. El Dockerfile generado puede editarse y ajustarse según sea necesario.
Generación automática de artefactos de despliegue para ECS/EKS
El comando generate genera automáticamente todos los artefactos necesarios para desplegar la aplicación containerizada en ECS o EKS. Para ECS, se generan definiciones de tareas, definiciones de servicios, configuración de ALB, security groups y plantillas de CloudFormation. Para EKS, se generan manifiestos de Kubernetes para Deployment, Service e Ingress. La creación del repositorio ECR y el push de la imagen también se realizan automáticamente. Además, puede construir automáticamente un entorno CI/CD que incluye repositorio CodeCommit, proyecto CodeBuild y pipeline CodePipeline, permitiendo iniciar inmediatamente la entrega continua tras la containerización. Todos los artefactos generados son personalizables, permitiendo ajustar el tamaño de recursos, número de réplicas y configuración de health checks según los requisitos.
Estrategia de migración y enfoque gradual de refactorización
App2Container es una herramienta que automatiza la containerización "lift & shift", pero una estrategia efectiva es usarla como punto de partida para una refactorización gradual. En la primera etapa, se containeriza la aplicación monolítica tal cual con A2C y se ejecuta en ECS/EKS. En este punto ya se obtienen los beneficios de la orquestación de contenedores, autoescalado y rolling deployments. En la segunda etapa, se separan los módulos con alta independencia dentro del monolito en servicios de contenedores individuales, avanzando hacia microservicios. La información de conexiones de red incluida en el informe de análisis de App2Container es un dato de entrada importante para comprender las dependencias entre módulos y determinar los límites de separación de servicios. También soporta contenedores Windows, por lo que es realista un roadmap de migrar aplicaciones .NET Framework a ECS como contenedores Windows y posteriormente avanzar hacia la portabilidad a .NET Core. Cabe señalar que AWS ha cerrado App2Container, junto con sus demás herramientas de modernización .NET, a nuevos clientes (a septiembre de 2026) y señala AWS Transform como alternativa.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
- Amazon ECS (página oficial)
- Amazon EKS (página oficial)
- Amazon ECR (página oficial)
- Documentación de AWS (oficial)
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.