

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Modernice e implemente aplicaciones de mainframe con Terraform AWS Transform
<a name="modernize-mainframe-app-transform-terraform"></a>

*Mason Cahill, Polaris Jhandi, Prachi Khanna, Sivasubramanian Ramani y Santosh Kumar Singh, Amazon Web Services*

## Resumen
<a name="modernize-mainframe-app-transform-terraform-summary"></a>

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)puede acelerar la modernización a gran escala de .NET, el mainframe y las cargas VMware de trabajo. Implementa agentes de IA especializados que automatizan las tareas complejas como las evaluaciones, el análisis de código, la refactorización, la descomposición, la asignación de dependencias, la validación y la planificación de la transformación. [Este patrón demuestra cómo AWS Transform modernizar una aplicación de mainframe y luego implementarla en la AWS infraestructura mediante Hashicorp Terraform.](https://developer.hashicorp.com/terraform/intro) Estas step-by-step instrucciones le ayudan a pasar de COBOL a una aplicación Java moderna [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo), que es un ejemplo de aplicación de mainframe de código abierto.

## Requisitos previos y limitaciones
<a name="modernize-mainframe-app-transform-terraform-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ Permisos administrativos para crear AWS recursos e implementar aplicaciones
+ La versión 1.5.7 o posterior de Terraform [configurada](https://developer.hashicorp.com/terraform/tutorials/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
+ AWS [Proveedor de Terraform, configurado](https://registry.terraform.io/providers/hashicorp/aws/2.36.0/docs#authentication)
+ AWS IAM Identity Center[, activado](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)
+ AWS Transform, [habilitado](https://docs.aws.amazon.com/transform/latest/userguide/getting-started.html)
+ Un usuario [incorporado a un](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html) espacio de AWS Transform trabajo con un rol de colaborador que puede ejecutar tareas de transformación

**Limitaciones**
+ AWS Transform solo está disponible en algunos. Regiones de AWS Para obtener la lista completa de regiones admitidas, consulte [Supported Regions for AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ Hay una cuota de servicio para las capacidades de transformación del mainframe en AWS Transform. Para obtener más información, consulte [Cuotas para AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html).
+ Para colaborar en un espacio de trabajo compartido, todos los usuarios deben ser usuarios registrados de la misma instancia AWS IAM Identity Center que esté asociada a tu instancia de la aplicación AWS Transform web.
+ El bucket de Amazon Simple Storage Service (Amazon S3) debe estar en la Cuenta de AWS misma región AWS Transform y.

## Arquitectura
<a name="modernize-mainframe-app-transform-terraform-architecture"></a>

El siguiente diagrama muestra la end-to-end modernización de la aplicación antigua y su implementación en Nube de AWS. Las credenciales de la aplicación y la base de datos se almacenan en AWS Secrets Manager, y Amazon CloudWatch proporciona capacidades de monitoreo y registro.

![AWS Transform moderniza una aplicación de mainframe y la implementación mediante Terraform.](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/78bc1e6e-cd3d-4c6d-ae4b-0675a6898fd9/images/332ccf35-f55a-449e-a05d-7e321b3867b7.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. A través de él AWS IAM Identity Center, el usuario se autentica y accede al AWS Transform . Cuenta de AWS

1. El usuario carga el código de mainframe COBOL en el bucket de Amazon S3 e inicia la transformación en AWS Transform.

1. AWS Transform moderniza el código COBOL para convertirlo en código Java nativo de la nube y almacena el código modernizado en el bucket de Amazon S3.

1. Terraform crea la AWS infraestructura para implementar la aplicación modernizada, que incluye un Application Load Balancer, una instancia de Amazon Elastic Compute Cloud (Amazon EC2) y una base de datos del Amazon Relational Database Service (Amazon RDS). Terraform implementa el código modernizado en la instancia de Amazon EC2.

1. Los archivos VSAM se cargan en Amazon EC2 y se migran de Amazon EC2 a la base de datos de Amazon RDS.

## Tools (Herramientas)
<a name="modernize-mainframe-app-transform-terraform-tools"></a>

**Servicios de AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) brinda capacidad de computación escalable en la Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez. En este patrón, las instancias de clúster de conmutación por error de SQL Server se instalan en las instancias de Amazon EC2.
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)le ayuda a gestionar de forma centralizada el acceso mediante el inicio de sesión único (SSO) a sus aplicaciones y a las de la nube. Cuentas de AWS 
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) lo ayuda a configurar, utilizar y escalar una base de datos relacional en la Nube de AWS.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) lo ayuda a reemplazar las credenciales codificadas en su código, incluidas contraseñas, con una llamada a la API de Secrets Manager para recuperar el secreto mediante programación.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)utiliza la IA agentic para ayudarlo a acelerar la modernización de las cargas de trabajo antiguas, como .NET, los mainframes y las cargas de trabajo. VMware 

**Otras herramientas**
+ [Apache Maven](https://maven.apache.org/) es una herramienta de automatización de compilaciones y administración de proyectos de software de código abierto para proyectos de Java.
+ [Apache Tomcat](https://tomcat.apache.org/) es un contenedor de servlets de código abierto y un servidor web para el código Java.
+ [HashiCorp Terraform](https://www.terraform.io/docs) es una herramienta de infraestructura como código (IaC) que facilita usar el código para aprovisionar y administrar los recursos y la infraestructura en la nube.
+ [Spring Boot](https://spring.io/projects/spring-boot) es un marco de código abierto que se creó sobre Spring Boot Framework en Java.

**Repositorio de código**

[El código de este patrón está disponible en el repositorio E2E de Mainframe Transformation GitHub .](https://github.com/aws-samples/sample-mainframe-transformation-e2e) Este patrón utiliza la aplicación de AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)mainframe de código abierto como aplicación de ejemplo.

## Prácticas recomendadas
<a name="modernize-mainframe-app-transform-terraform-best-practices"></a>
+ Asigne la propiedad total del código y los recursos destinados a la migración.
+ Desarrolle y pruebe una prueba de concepto antes de escalar a una migración completa.
+ Garantice la implicación de todas las partes interesadas.
+ Establezca canales de comunicación claros.
+ Defina y documente los requisitos para un producto mínimo viable (MVP).
+ Establezca criterios de éxito claros.

## Epics
<a name="modernize-mainframe-app-transform-terraform-epics"></a>

### Preparación y carga del código de la aplicación del mainframe
<a name="prepare-and-upload-the-mainframe-application-code"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un bucket. | Cree un bucket de Amazon S3 en la misma Cuenta de AWS región en la que AWS Transform está activado. Este depósito se utiliza para almacenar el código de la aplicación del mainframe, los datos y los scripts adicionales necesarios para crear y ejecutar la aplicación. AWS Transform utiliza este depósito para almacenar el código refactorizado y otros archivos asociados a la transformación. Para obtener instrucciones, consulte [Crear un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) en la documentación de Amazon S3. | AWS general, administrador de AWS | 
| Configure los permisos de CORS para el bucket. | Al configurar su depósito para el AWS Transform acceso, debe configurar el uso compartido de recursos de origen cruzado (CORS) para el depósito. Si no se ha configurado correctamente, es posible que no pueda utilizar las funciones de visualización en línea o de comparación de archivos de AWS Transform. Para obtener instrucciones sobre cómo configurar CORS para un bucket, consulte [Uso compartido de recursos entre orígenes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) en el bucket de Amazon S3. Para conocer la política, consulta los [permisos CORS del bucket de S3](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3) en la documentación. AWS Transform  | AWS general, administrador de AWS | 
| Prepare el código de la aplicación del mainframe de ejemplo. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS general, desarrollador de aplicaciones | 

### Transformación de la aplicación del mainframe
<a name="transform-the-mainframe-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el AWS Transform trabajo. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicaciones, propietario de la aplicación | 
| Configure un conector. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicaciones, propietario de la aplicación | 
| Transforme el código. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicaciones, propietario de la aplicación | 

### Implementación de la infraestructura mediante Terraform
<a name="deploy-the-infrastructure-through-terraform"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualice las plantillas. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html)En el caso de los entornos de producción o similares a los de producción, configure componentes de seguridad adicionales. Por ejemplo, habilite las [protecciones de AWS WAF para el equilibrador de carga de aplicación](https://aws.amazon.com/about-aws/whats-new/2024/02/aws-application-load-balancer-one-click-waf-integrations/). | AWS general, administrador de AWS | 
| Implemente la infraestructura. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Terraform | 

### Instalación y configuración de Apache Tomcat en la instancia de Amazon EC2
<a name="install-and-configure-apache-tomcat-on-the-ec2-instance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale el software necesario. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicación, ingeniero de migraciones | 
| Verifique la instalación del software. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicación, ingeniero de migraciones | 

### Compilación y empaquetado del código de la aplicación modernizada
<a name="compile-and-package-the-modernized-application-code"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargue y extraiga el código generado. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicación, ingeniero de migraciones | 
| Compile la aplicación modernizada. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicación, ingeniero de migraciones | 

### Migración de la base de datos
<a name="migrate-the-database"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree la base de datos y los esquemas JICS. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicación, ingeniero de migraciones | 
| Valide la creación de la base de datos. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicación, ingeniero de migraciones | 
| Migre los datos a la base de datos de JICS. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicación, ingeniero de migraciones | 

### Instalación de la aplicación modernizada
<a name="install-the-modernized-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale la aplicación modernizada en la instancia de Amazon EC2. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicaciones, arquitecto de la nube | 
| Reinicie el servidor de Tomcat. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicaciones, arquitecto de la nube | 
| Migre el conjunto de datos de VSAM. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicación, ingeniero de migraciones | 
| Actualice los parámetros en los scripts de Groovy. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador de aplicaciones | 

### Pruebe la aplicación
<a name="test-the-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Pruebe la aplicación modernizada. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador, ingeniero de pruebas | 
| Compruebe los scripts del lote. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desarrollador, ingeniero de pruebas | 

### Limpieza
<a name="clean-up"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepárese para eliminar la infraestructura. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS general | 
| Configurar la infraestructura. | Estos pasos eliminarán sus recursos de forma permanente. Asegúrese de haber realizado una copia de seguridad de todos los datos importantes antes de continuar.[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS general | 

## Resolución de problemas
<a name="modernize-mainframe-app-transform-terraform-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Autenticación de Terraform | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Errores relacionados con Tomcat | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| El nombre de la URL no se carga | Asegúrese de que el grupo de seguridad del equilibrador de carga de aplicación tenga su dirección IP en la regla de entrada como origen. | 
| Problema de autenticación en el registro de Tomcat | Confirme que la contraseña secreta de la base de datos AWS Secrets Manager y la contraseña del **archivo server.xml** coinciden. | 

## Recursos relacionados
<a name="modernize-mainframe-app-transform-terraform-resources"></a>

**AWS Guía prescriptiva**
+ [Modernice la aplicación de CardDemo mainframe con AWS Transform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)

**AWS documentación de servicio**
+ [AWS Consola de administración de Blue Age Blusam](https://docs.aws.amazon.com/m2/latest/userguide/ba-shared-bac-userguide.html)
+ [Requisitos de configuración de la infraestructura para AWS Blu Age Runtime (no gestionada)](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html)
+ [Incorporación de AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-setup-onboard.html)
+ [Modernización de las aplicaciones de mainframe](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/transform-app-mainframe.html)
+ [Configure la configuración de AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html)

**AWS publicaciones de blog**
+ [Acelere su proceso de modernización del mainframe con agentes de IA con AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/)