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à.
Implementa un ambiente per applicazioni Blu Age containerizzate utilizzando Terraform
Creato da Richard Milner-Watts (AWS)
Riepilogo
La migrazione dei carichi di lavoro mainframe legacy in architetture cloud moderne può eliminare i costi di manutenzione di un mainframe, costi che aumentano solo con l'invecchiamento dell'ambiente. Tuttavia, la migrazione dei lavori da un mainframe può porre sfide uniche. Le risorse interne potrebbero non conoscere la logica del lavoro e le elevate prestazioni dei mainframe in queste attività specializzate possono essere difficili da replicare rispetto a quelle di uso generalizzato. CPUs Riscrivere questi lavori può essere un'impresa ardua e richiedere un notevole impegno.
Blu Age converte i carichi di lavoro mainframe legacy in codice Java moderno, che puoi quindi eseguire come contenitore.
Questo modello fornisce un esempio di architettura serverless per l'esecuzione di un'applicazione containerizzata che è stata modernizzata con lo strumento Blu Age. I file HashiCorp Terraform inclusi creeranno un'architettura sicura per l'orchestrazione dei contenitori Blu Age, supportando sia attività in batch che servizi in tempo reale.
Per ulteriori informazioni sulla modernizzazione dei carichi di lavoro utilizzando Blu Age e i servizi AWS, consulta queste pubblicazioni AWS Prescriptive Guidance:
Per ricevere assistenza sull'utilizzo di Blu Age per modernizzare i carichi di lavoro mainframe, contatta il team Blu Age selezionando Contatta i nostri esperti sul sito Web Blu Age.
Prerequisiti e limitazioni
Prerequisiti
L'applicazione di esempio di Blu Age containerizzata fornita dai carichi di lavoro mainframe Containerize che sono stati modernizzati dal modello Blu Age. L'applicazione di esempio fornisce la logica per gestire l'elaborazione di input e output per l'applicazione modernizzata e può integrarsi con questa architettura.
Terraform è necessario per distribuire queste risorse.
Limitazioni
Amazon Elastic Container Service (Amazon ECS) impone dei limiti alle risorse delle attività che possono essere rese disponibili per il container. Queste risorse includono CPU, RAM e storage. Ad esempio, quando si utilizza Amazon ECS con AWS Fargate, si applicano i limiti delle risorse delle attività.
Versioni del prodotto
Questa soluzione è stata testata con le seguenti versioni:
Terraform 1.3.6
Terraform AWS Provider 4.46.0
Architettura
Stack tecnologico di origine
Età blu
Terraform
Stack tecnologico Target
Amazon Aurora PostgreSQL-Compatible Edition
AWS Backup
Amazon Elastic Container Registry (Amazon ECR)
Amazon ECS
AWS Identity and Access Management Service (IAM)
Server di gestione delle chiavi AWS (AWS KMS)
AWS Secrets Manager
Servizio di notifica semplice Amazon (Amazon Simple Notification Service (Amazon SNS))
Amazon Simple Storage Service (Amazon S3)
AWS Step Functions
AWS Systems Manager
Architettura Target
Il diagramma seguente mostra l'architettura della soluzione.

La soluzione implementa i seguenti ruoli IAM:
Ruolo dell'attività Batch
Ruolo di esecuzione delle attività Batch
Ruolo dell'attività di servizio
Ruolo di esecuzione dell'attività di servizio
Ruolo Step Functions
Ruolo di AWS Backup
Ruolo RDS Enhanced Monitoring.
I ruoli sono conformi ai principi di accesso con privilegi minimi.
Amazon ECR viene utilizzato per archiviare l'immagine del contenitore orchestrata da questo modello.
AWS Systems Manager Parameter Store fornisce dati di configurazione su ciascun ambiente alla definizione delle attività di Amazon ECS in fase di esecuzione.
AWS Secrets Manager fornisce dati di configurazione sensibili sull'ambiente alla definizione delle attività di Amazon ECS in fase di esecuzione. I dati sono stati crittografati da AWS KMS.
I moduli Terraform creano definizioni di attività Amazon ECS per tutte le attività in tempo reale e in batch.
Amazon ECS esegue un'attività in batch utilizzando AWS Fargate come motore di elaborazione. Si tratta di un'attività di breve durata, avviata come richiesto da AWS Step Functions.
Amazon Aurora, compatibile con PostgreSQL, fornisce un database per supportare l'applicazione modernizzata. Questo sostituisce i database mainframe come IBM Db2 o IBM IMS DB.
Amazon ECS offre un servizio di lunga durata per fornire un carico di lavoro modernizzato in tempo reale. Queste applicazioni stateless vengono eseguite in modo permanente con contenitori distribuiti tra le zone di disponibilità.
Un Network Load Balancer viene utilizzato per concedere l'accesso al carico di lavoro in tempo reale. Il Network Load Balancer supporta protocolli precedenti, come IBM CICS. In alternativa, puoi utilizzare un Application Load Balancer con carichi di lavoro basati su HTTP.
Amazon S3 fornisce lo storage di oggetti per gli input e gli output dei processi. Il contenitore dovrebbe gestire le operazioni pull and push in Amazon S3 per preparare la directory di lavoro per l'applicazione Blu Age.
Il servizio AWS Step Functions viene utilizzato per orchestrare l'esecuzione delle attività di Amazon ECS per elaborare carichi di lavoro in batch.
Gli argomenti SNS per ogni carico di lavoro batch vengono utilizzati per integrare l'applicazione modernizzata con altri sistemi, come la posta elettronica, o per avviare azioni aggiuntive, come la consegna di oggetti di output da Amazon S3 a FTP.
Nota
Per impostazione predefinita, la soluzione non ha accesso a Internet. Questo modello presuppone che il cloud privato virtuale (VPC) sia connesso ad altre reti utilizzando un servizio come AWS
Automazione e scalabilità
L'uso di risorse serverless in questo modello contribuisce a garantire che, grazie alla scalabilità orizzontale, vi siano pochi limiti alla scalabilità di questo progetto. In questo modo si riducono i fastidiosi problemi dei vicini, come la concorrenza per le risorse di elaborazione che si potrebbe riscontrare sul mainframe originale. Le attività Batch possono essere pianificate per l'esecuzione simultanea in base alle esigenze.
I singoli contenitori sono limitati dalle dimensioni massime supportate da Fargate. Per ulteriori informazioni, consulta la sezione Task CPU e memoria nella documentazione di Amazon ECS.
Per scalare orizzontalmente i carichi di lavoro in tempo reale
Strumenti
Servizi AWS
Amazon Aurora PostgreSQL Compatible Edition è un motore di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.
AWS Backup è un servizio completamente gestito che ti aiuta a centralizzare e automatizzare la protezione dei dati tra i servizi AWS, nel cloud e in locale.
Amazon Elastic Container Registry (Amazon ECR) è un servizio di registro di immagini di container gestito sicuro, scalabile e affidabile.
Amazon Elastic Container Service (Amazon ECS) è un servizio rapido e scalabile di gestione dei container che ti aiuta a eseguire, arrestare e gestire container in un cluster.
AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
AWS Key Management Service (AWS KMS) ti aiuta a creare e controllare chiavi crittografiche per proteggere i tuoi dati.
AWS Secrets Manager ti aiuta a sostituire le credenziali codificate nel codice, comprese le password, con una chiamata API a Secrets Manager per recuperare il segreto a livello di codice.
Amazon Simple Notification Service (Amazon SNS) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.
Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
AWS Step Functions è un servizio di orchestrazione serverless che ti aiuta a combinare le funzioni di AWS Lambda e altri servizi AWS per creare applicazioni aziendali critiche.
AWS Systems Manager Parameter Store fornisce uno storage sicuro e gerarchico per la gestione dei dati di configurazione e la gestione dei segreti.
Altri servizi
HashiCorp Terraform
è uno strumento open source di infrastruttura come codice (IaC) che consente di utilizzare il codice per fornire e gestire l'infrastruttura e le risorse cloud. Questo modello utilizza Terraform per creare l'architettura di esempio.
Archivio di codice
Il codice sorgente di questo pattern è disponibile nel repository GitHub Blu Age Sample ECS Infrastructure (Terraform
Best practice
Per gli ambienti di test, utilizza funzionalità come la
forceDate
possibilità di configurare l'applicazione modernizzata per generare risultati di test coerenti eseguendo sempre per un periodo di tempo noto.Ottimizza ogni attività individualmente per consumare la quantità ottimale di risorse. Puoi utilizzare Amazon CloudWatch Container Insights per ottenere indicazioni su potenziali colli di bottiglia.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Clona il codice sorgente della soluzione. | DevOps ingegnere | |
Avvia l'ambiente distribuendo risorse per archiviare lo stato di Terraform. |
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Rivedi e aggiorna la configurazione di Terraform. | Nella directory principale, apri il file,
| DevOps ingegnere |
Distribuisci il file Terraform. | Dal tuo terminale, esegui il Tieni presente che possono essere necessari più di 15 minuti per implementare questa infrastruttura. | DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Invia l'immagine del contenitore Blu Age ad Amazon ECR. | Inserisci il contenitore nel repository Amazon ECR che hai creato nell'epic precedente. Per istruzioni, consulta la documentazione di Amazon ECR. Prendi nota dell'URI dell'immagine del contenitore. | DevOps ingegnere |
Aggiorna Terraform in modo che faccia riferimento all'immagine del contenitore Blu Age. | Aggiorna il file | DevOps ingegnere |
Ridistribuisci il file Terraform. | Dal tuo terminale, esegui | DevOps ingegnere |