

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Modernize e implante aplicativos de mainframe usando o Terraform AWS Transform
<a name="modernize-mainframe-app-transform-terraform"></a>

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

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

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)pode acelerar a modernização em grande escala do.NET, mainframe e cargas de trabalho. VMware Ele implanta agentes de IA especializados que automatizam tarefas complexas, como avaliações, análise de código, refatoração, decomposição, mapeamento de dependências, validação e planejamento de transformação. [Esse padrão demonstra como usá-lo para AWS Transform modernizar um aplicativo de mainframe e depois implantá-lo na AWS infraestrutura usando o Hashicorp Terraform.](https://developer.hashicorp.com/terraform/intro) Essas step-by-step instruções ajudam você a transformar [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo), que é um exemplo de aplicativo de mainframe de código aberto, de COBOL em um aplicativo Java moderno.

## Pré-requisitos e limitações
<a name="modernize-mainframe-app-transform-terraform-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS
+ Permissões administrativas para criar AWS recursos e implantar aplicativos
+ Terraform versão 1.5.7 ou posterior, [configurado](https://developer.hashicorp.com/terraform/tutorials/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
+ AWS [Provedor para Terraform, configurado](https://registry.terraform.io/providers/hashicorp/aws/2.36.0/docs#authentication)
+ Centro de Identidade do AWS IAM, [habilitado](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)
+ Um usuário, [integrado a um AWS Transform espaço de](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html) trabalho com uma função de colaborador que pode executar trabalhos de transformação

**Limitações**
+ AWS Transform está disponível apenas em alguns Regiões da AWS. Para obter uma lista completa das regiões aceitar, consulte [Supported Regions for AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ Há uma cota de serviço para recursos de transformação de mainframe no AWS Transform. Para mais informações, consulte [Cotas para o AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html).
+ Para colaborar em um espaço de trabalho compartilhado, todos os usuários devem ser usuários registrados da Centro de Identidade do AWS IAM mesma instância associada à sua instância do aplicativo AWS Transform web.
+ O bucket AWS Transform do Amazon Simple Storage Service (Amazon S3) deve estar na mesma região Conta da AWS .

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

O diagrama a seguir mostra a end-to-end modernização do aplicativo legado e a implantação no Nuvem AWS. As credenciais do aplicativo e do banco de dados são AWS Secrets Manager armazenadas e a Amazon CloudWatch fornece recursos de monitoramento e registro.

![O AWS Transform moderniza uma aplicação de mainframe e uma implantação por meio do Terraform.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/78bc1e6e-cd3d-4c6d-ae4b-0675a6898fd9/images/332ccf35-f55a-449e-a05d-7e321b3867b7.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. Por meio de Centro de Identidade do AWS IAM, o usuário se autentica e acessa AWS Transform no. Conta da AWS

1. O usuário carrega o código do mainframe COBOL no bucket do Amazon S3 e inicia a transformação no AWS Transform.

1. AWS Transform moderniza o código COBOL em código Java nativo da nuvem e armazena o código modernizado no bucket do Amazon S3.

1. O Terraform cria a AWS infraestrutura para implantar o aplicativo modernizado, incluindo um Application Load Balancer, uma instância do Amazon Elastic Compute Cloud (Amazon EC2) e o banco de dados Amazon Relational Database Service (Amazon RDS). O Terraform implanta o código modernizado na instância do Amazon EC2.

1. Os arquivos VSAM são enviados para o Amazon EC2 e migrados do Amazon EC2 para o banco de dados do Amazon RDS.

## Ferramentas
<a name="modernize-mainframe-app-transform-terraform-tools"></a>

**Serviços da AWS**
+ O [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) oferece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente. Neste padrão, as instâncias do cluster de failover do SQL Server são instaladas nas instâncias do Amazon EC2.
+ [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)ajuda você a gerenciar centralmente o acesso de login único (SSO) aos seus Contas da AWS aplicativos e à nuvem.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS.
+ O [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) ajuda a substituir credenciais codificadas, incluindo senhas, por uma chamada de API ao Secrets Manager para recuperar o segredo por programação.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)usa IA agente para ajudá-lo a acelerar a modernização de cargas de trabalho legadas, como.NET, mainframe e cargas de trabalho. VMware 

**Outras ferramentas**
+ O [Apache Maven](https://maven.apache.org/) é uma ferramenta de gerenciamento de projetos e automação de criação de software de código aberto para projetos Java.
+ O [Apache Tomcat](https://tomcat.apache.org/) é um contêiner Servlet de código aberto e servidor web para código Java.
+ O [HashiCorp Terraform](https://www.terraform.io/docs) é uma ferramenta de infraestrutura como código (IaC) que ajuda a provisionar e gerenciar recursos e infraestrutura de nuvem por meio de código.
+ O [Spring Boot](https://spring.io/projects/spring-boot) é um framework de código aberto baseado no Spring Framework em Java.

**Repositório de código**

O código desse padrão está disponível no repositório GitHub [Mainframe Transformation E2E](https://github.com/aws-samples/sample-mainframe-transformation-e2e). Esse padrão usa o aplicativo de AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)mainframe de código aberto como um aplicativo de amostra.

## Práticas recomendadas
<a name="modernize-mainframe-app-transform-terraform-best-practices"></a>
+ Atribuir a propriedade total do código e dos recursos destinados para migração.
+ Desenvolver e testar uma prova de conceito antes de escalar para uma migração completa.
+ Garantir o comprometimento de todas as partes interessadas.
+ Estabelecer canais de comunicação claros.
+ Definir e documentar os requisitos de produto mínimo viável (MVP).
+ Estabelecer critérios claros de sucesso.

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

### Preparar e fazer o upload do código da aplicação de mainframe
<a name="prepare-and-upload-the-mainframe-application-code"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um bucket. | Crie um bucket do Amazon S3 na mesma Conta da AWS região em que AWS Transform está habilitado. Você usa esse bucket para armazenar o código, os dados e os scripts adicionais do aplicativo de mainframe necessários para criar e executar o aplicativo. AWS Transform usa esse bucket para armazenar o código refatorado e outros arquivos associados à transformação. Para obter instruções, consulte [Criação de um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) na documentação do Amazon S3. | AWS geral, administrador da AWS | 
| Defina as permissões de CORS para o bucket. | Ao configurar seu bucket para AWS Transform acesso, você precisa configurar o compartilhamento de recursos de origem cruzada (CORS) para o bucket. Se isso não estiver configurado corretamente, talvez você não consiga usar as funcionalidades de visualização em linha ou comparação de arquivos do AWS Transform. Para obter instruções sobre como configurar o CORS para um bucket, consulte [Usar o compartilhamento de recursos de origem cruzada](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) no bucket do Amazon S3. Para a política, consulte as [permissões CORS do bucket S3](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3) na AWS Transform documentação. | AWS geral, administrador da AWS | 
| Prepare o exemplo de código da aplicação de mainframe. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS geral, desenvolvedor de aplicativos | 

### Transformar a aplicação de mainframe
<a name="transform-the-mainframe-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o AWS Transform trabalho. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Configure um conector. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor do aplicativo, proprietário do aplicativo | 
| Transforme o código. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor do aplicativo, proprietário do aplicativo | 

### Implantar a infraestrutura por meio do Terraform
<a name="deploy-the-infrastructure-through-terraform"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Atualize os modelos. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html)Para ambientes de produção ou semelhantes aos de produção, configure componentes de segurança adicionais. Por exemplo, habilite [AWS WAF protections for your Application Load Balancer](https://aws.amazon.com/about-aws/whats-new/2024/02/aws-application-load-balancer-one-click-waf-integrations/). | AWS geral, administrador da AWS | 
| Implantar a infraestrutura. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Terraform | 

### Instalar e configurar o Apache Tomcat na instância do Amazon EC2
<a name="install-and-configure-apache-tomcat-on-the-ec2-instance"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o software necessário. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de migração | 
| Verifique a instalação de softwares. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de migração | 

### Compilar e empacotar o código da aplicação modernizada
<a name="compile-and-package-the-modernized-application-code"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Faça o download e extraia o código gerado. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de migração | 
| Crie uma aplicação modernizada. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de migração | 

### Migrar o bancos de dados
<a name="migrate-the-database"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie o banco de dados e os esquemas JICS. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de migração | 
| Valide a criação de banco de dados. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de migração | 
| Migre dados para o banco de dados JICS. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de migração | 

### Instalar a aplicação modernizada
<a name="install-the-modernized-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale a aplicação modernizada na instância do Amazon EC2. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, arquiteto de nuvem | 
| Reinicie o servidor Tomcat. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, arquiteto de nuvem | 
| Migre o conjunto de dados do VSAM. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de migração | 
| Atualize os parâmetros nos scripts do Groovy. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos | 

### Teste a aplicação
<a name="test-the-application"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Teste a aplicação modernizada. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de testes | 
| Verifique os scripts em lote. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Desenvolvedor de aplicativos, engenheiro de testes | 

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


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Preparar para excluir a infraestrutura. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS geral | 
| Exclua a infraestrutura. | Essas etapas excluirão permanentemente seus recursos. Certifique-se de ter feito backup de todos os dados importantes antes de continuar.[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | AWS geral | 

## Solução de problemas
<a name="modernize-mainframe-app-transform-terraform-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Autenticação do Terraform | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Erros relacionados ao Tomcat | [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| O nome do URL não está carregando | Certifique-se de que o grupo de segurança do Application Load Balancer tenha seu endereço IP na regra de entrada como fonte. | 
| Problema de autenticação no log do Tomcat | Confirme se a senha secreta do banco de dados AWS Secrets Manager e a senha em **server.xml** coincidem. | 

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

**AWS Orientação prescritiva**
+ [Modernize o aplicativo de CardDemo mainframe usando o AWS Transform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)

**AWS documentação de serviço**
+ [AWS Console de administração Blusam Blue Age](https://docs.aws.amazon.com/m2/latest/userguide/ba-shared-bac-userguide.html)
+ [Requisitos de configuração de infraestrutura para o AWS Blu Age Runtime (não gerenciado)](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html)
+ [Integração do AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-setup-onboard.html)
+ [Modernização de aplicativos de mainframe](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/transform-app-mainframe.html)
+ [Configurar o AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html)

**AWS postagens no blog**
+ [Acelere sua jornada de modernização do mainframe usando agentes de IA com AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/)