

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Modernizza e implementa le applicazioni mainframe utilizzando e 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*

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

[AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)può accelerare la modernizzazione su larga scala di .NET, VMware mainframe e carichi di lavoro. Implementa agenti di intelligenza artificiale specializzati che automatizzano attività complesse come valutazioni, analisi del codice, refactoring, scomposizione, mappatura delle dipendenze, convalida e pianificazione della trasformazione. [Questo modello dimostra come modernizzare un'applicazione mainframe e quindi distribuirla nell' AWS Transform infrastruttura utilizzando Hashicorp Terraform. AWS](https://developer.hashicorp.com/terraform/intro) Queste step-by-step istruzioni consentono di trasformare [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo), che è un esempio di applicazione mainframe open source, da COBOL a una moderna applicazione Java.

## Prerequisiti e limitazioni
<a name="modernize-mainframe-app-transform-terraform-prereqs"></a>

**Prerequisiti**
+ Un attivo Account AWS
+ Autorizzazioni amministrative per creare AWS risorse e distribuire applicazioni
+ [Terraform versione 1.5.7 o successiva, configurata](https://developer.hashicorp.com/terraform/tutorials/aws-get-started?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS)
+ AWS [Provider per Terraform, configurato](https://registry.terraform.io/providers/hashicorp/aws/2.36.0/docs#authentication)
+ AWS IAM Identity Center[, abilitato](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-identity-center.html)
+ AWS Transform, [abilitato](https://docs.aws.amazon.com/transform/latest/userguide/getting-started.html)
+ Un utente, inserito in un'[area di](https://docs.aws.amazon.com/transform/latest/userguide/transform-user-management.html) AWS Transform lavoro con un ruolo di collaboratore in grado di eseguire lavori di trasformazione

**Limitazioni**
+ AWS Transform è disponibile solo in alcuni. Regioni AWS Per un elenco completo delle regioni supportate, consulta [Regioni supportate per AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/regions.html).
+ È prevista una quota di servizio per le funzionalità di trasformazione del mainframe in AWS Transform. Per ulteriori informazioni, vedere [Quotas](https://docs.aws.amazon.com/transform/latest/userguide/transform-limits.html) for. AWS Transform
+ Per collaborare su uno spazio di lavoro condiviso, tutti gli utenti devono essere utenti registrati della stessa istanza associata all'istanza dell' AWS Transform applicazione Web. AWS IAM Identity Center 
+ Il bucket AWS Transform Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) deve trovarsi nella stessa regione. Account AWS 

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

Il diagramma seguente mostra la end-to-end modernizzazione dell'applicazione legacy e la distribuzione in. Cloud AWS Le credenziali dell'applicazione e del database vengono Gestione dei segreti AWS archiviate e Amazon CloudWatch fornisce funzionalità di monitoraggio e registrazione.

![AWS Transform modernizza un'applicazione mainframe e la distribuzione tramite Terraform.](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/78bc1e6e-cd3d-4c6d-ae4b-0675a6898fd9/images/332ccf35-f55a-449e-a05d-7e321b3867b7.png)


Il diagramma mostra il flusso di lavoro seguente:

1. Tramite AWS IAM Identity Center, l'utente si autentica e accede in. AWS Transform Account AWS

1. L'utente carica il codice mainframe COBOL nel bucket Amazon S3 e avvia la trasformazione in. AWS Transform

1. AWS Transform modernizza il codice COBOL in codice Java nativo del cloud e archivia il codice modernizzato nel bucket Amazon S3.

1. Terraform crea l' AWS infrastruttura per distribuire l'applicazione modernizzata, tra cui un'Application Load Balancer, un'istanza Amazon Elastic Compute Cloud (Amazon EC2) e il database Amazon Relational Database Service (Amazon RDS). Terraform distribuisce il codice modernizzato sull'istanza Amazon EC2.

1. I file VSAM vengono caricati su Amazon EC2 e migrati da Amazon EC2 al database Amazon RDS.

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

**Servizi AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fornisce capacità di calcolo scalabile nel Cloud AWS. Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente. In questo modello, le istanze del cluster di failover di SQL Server vengono installate sulle istanze Amazon EC2.
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)ti aiuta a gestire centralmente l'accesso Single Sign-On (SSO) alle tue applicazioni e a quelle cloud. Account AWS 
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) ti aiuta a configurare, gestire e scalare un database relazionale in. Cloud AWS
+ Con [Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) puoi sostituire le credenziali nel codice,incluse le password, con una chiamata API a Secrets Manager in modo da recuperare il segreto a livello di codice.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [AWS Transform](https://docs.aws.amazon.com/transform/latest/userguide/what-is-service.html)utilizza l'intelligenza artificiale agentica per aiutarti ad accelerare la modernizzazione dei carichi di lavoro legacy, come.NET, mainframe e carichi di lavoro. VMware 

**Altri strumenti**
+ [Apache Maven](https://maven.apache.org/) è uno strumento open source per la gestione di progetti software e l'automazione dello sviluppo per progetti Java.
+ [Apache Tomcat](https://tomcat.apache.org/) è un contenitore Servlet open source e un server web per codice Java.
+ [HashiCorp Terraform](https://www.terraform.io/docs) è uno strumento Infrastructure as Code (IaC) che consente di utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud.
+ [Spring Boot](https://spring.io/projects/spring-boot) è un framework open source basato su Spring Framework in Java.

**Deposito di codice**

Il codice per questo pattern è disponibile nel repository GitHub [Mainframe Transformation E2E](https://github.com/aws-samples/sample-mainframe-transformation-e2e). Questo modello utilizza l'applicazione AWS [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)mainframe open source come applicazione di esempio.

## Best practice
<a name="modernize-mainframe-app-transform-terraform-best-practices"></a>
+ Assegna la piena proprietà del codice e delle risorse destinate alla migrazione.
+ Sviluppa e testa un proof of concept prima di passare a una migrazione completa.
+ Garantisci l'impegno di tutte le parti interessate.
+ Stabilisci canali di comunicazione chiari.
+ Definisci e documenta i requisiti minimi di prodotto (MVP).
+ Stabilisci criteri di successo chiari.

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

### Prepara e carica il codice dell'applicazione mainframe
<a name="prepare-and-upload-the-mainframe-application-code"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare un bucket. | Crea un bucket Amazon S3 nella stessa regione in cui AWS Transform è Account AWS abilitato. Questo bucket viene utilizzato per archiviare il codice dell'applicazione mainframe, i dati e gli script aggiuntivi necessari per creare ed eseguire l'applicazione. AWS Transform utilizza questo bucket per archiviare il codice rifattorizzato e altri file associati alla trasformazione. Per istruzioni, consulta [Creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) nella documentazione di Amazon S3. | AWS generale, amministratore AWS | 
| Imposta le autorizzazioni CORS per il bucket. | Quando configuri il bucket per AWS Transform l'accesso, devi configurare la condivisione delle risorse tra le origini (CORS) per il bucket. Se non è configurato correttamente, potresti non essere in grado di utilizzare le funzionalità di visualizzazione in linea o di confronto dei file di. AWS Transform Per istruzioni su come configurare CORS per un bucket, consulta [Usare la condivisione di risorse tra origini diverse](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) nel bucket Amazon S3. Per la policy, consulta le autorizzazioni CORS del [bucket S3](https://docs.aws.amazon.com/transform/latest/userguide/transform-app-mainframe-workflow.html#transform-app-mainframe-workflow-setup-connector-s3) nella documentazione. AWS Transform  | AWS generale, amministratore AWS | 
| Preparare il codice applicativo mainframe di esempio. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | General AWS, sviluppatore di app | 

### Trasforma l'applicazione mainframe
<a name="transform-the-mainframe-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura il AWS Transform lavoro. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore dell'app, proprietario dell'app | 
| Configura un connettore. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, proprietario dell'app | 
| Trasforma il codice. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore dell'app, proprietario dell'app | 

### Implementa l'infrastruttura tramite Terraform
<a name="deploy-the-infrastructure-through-terraform"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Aggiorna i modelli. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html)Per ambienti di produzione o simili, configura componenti di sicurezza aggiuntivi. Ad esempio, abilita [AWS WAF le protezioni per il tuo Application Load Balancer](https://aws.amazon.com/about-aws/whats-new/2024/02/aws-application-load-balancer-one-click-waf-integrations/). | AWS generale, amministratore AWS | 
| Implementa l'infrastruttura. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Terraform | 

### Installa e configura Apache Tomcat sull'istanza Amazon EC2
<a name="install-and-configure-apache-tomcat-on-the-ec2-instance"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa il software richiesto. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico addetto alla migrazione | 
| Verifica l'installazione del software. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico addetto alla migrazione | 

### Compila e impacchetta il codice applicativo modernizzato
<a name="compile-and-package-the-modernized-application-code"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Scarica ed estrai il codice generato. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico addetto alla migrazione | 
| Crea l'applicazione modernizzata. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico addetto alla migrazione | 

### Esegui la migrazione del database
<a name="migrate-the-database"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Creare il database e gli schemi JICS. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico addetto alla migrazione | 
| Convalida la creazione del database. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico addetto alla migrazione | 
| Migra i dati nel database JICS. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico addetto alla migrazione | 

### Installa l'applicazione modernizzata
<a name="install-the-modernized-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Installa l'applicazione modernizzata sull'istanza Amazon EC2. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, architetto cloud | 
| Riavvia il server Tomcat. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, architetto cloud | 
| Esegui la migrazione del set di dati VSAM. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico addetto alla migrazione | 
| Aggiorna i parametri negli script Groovy. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app | 

### Eseguire il test dell’applicazione
<a name="test-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Prova l'applicazione modernizzata. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico di test | 
| Verifica gli script batch. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Sviluppatore di app, tecnico di test | 

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Preparati a eliminare l'infrastruttura. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Informazioni generali su AWS | 
| Eliminare l'infrastruttura. | Questi passaggi elimineranno definitivamente le tue risorse. Assicurati di aver eseguito il backup di tutti i dati importanti prima di procedere.[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | Informazioni generali su AWS | 

## Risoluzione dei problemi
<a name="modernize-mainframe-app-transform-terraform-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Autenticazione Terraform | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Errori relativi a Tomcat | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/modernize-mainframe-app-transform-terraform.html) | 
| Il nome dell'URL non viene caricato | Assicurati che il gruppo di sicurezza Application Load Balancer abbia il tuo indirizzo IP nella regola in entrata come origine. | 
| Problema di autenticazione nel registro di Tomcat | Verifica che la password segreta del database in Gestione dei segreti AWS e la password in **server.xml** corrispondano. | 

## Risorse correlate
<a name="modernize-mainframe-app-transform-terraform-resources"></a>

**AWS Guida prescrittiva**
+ [Modernizza l'applicazione CardDemo mainframe utilizzando AWS Transform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/modernize-carddemo-mainframe-app.html)

**AWS documentazione del servizio**
+ [AWS Console di amministrazione Blue Age Blusam](https://docs.aws.amazon.com/m2/latest/userguide/ba-shared-bac-userguide.html)
+ [Requisiti di configurazione dell'infrastruttura per AWS Blu Age Runtime (non gestito)](https://docs.aws.amazon.com/m2/latest/userguide/ba-infrastructure-setup.html)
+ [Onboarding AWS di Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-setup-onboard.html)
+ [Modernizzazione delle applicazioni mainframe](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/transform-app-mainframe.html)
+ [Configura la configurazione per AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html)

**AWS post sul blog**
+ [Accelera il tuo percorso di modernizzazione del mainframe utilizzando agenti AI con AWS Transform](https://aws.amazon.com/blogs/migration-and-modernization/accelerate-your-mainframe-modernization-journey-using-ai-agents-with-aws-transform/)