Architettura della soluzione per l'esecuzione di carichi di lavoro modernizzati Blu Age su AWS - AWS Guida prescrittiva

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à.

Architettura della soluzione per l'esecuzione di carichi di lavoro modernizzati Blu Age su AWS

La soluzione esegue l'applicazione modernizzata all'interno di un contenitore Docker orchestrato da Amazon Elastic Container Service (Amazon ECS). Lo script wrapper shell in esecuzione all'interno dell'immagine del contenitore gestisce l'applicazione Java modernizzata, ad esempio la raccolta di input, il funzionamento del codice Java e l'elaborazione e la consegna degli output.

Il codice dell'applicazione Java all'interno del contenitore non rientra nell'ambito di questa guida. Ad alto livello, lo script della shell wrapper funge da punto di ingresso al contenitore e orchestra varie attività. In fase di esecuzione, la definizione delle attività ECS fornisce i metadati ambientali, come i bucket Amazon Simple Storage Service (Amazon S3), utilizzando integrazioni native AWS Secrets Managercon e Parameter Store, una funzionalità di. AWS Systems Manager

La seguente architettura è progettata per eseguire carichi di lavoro mainframe modernizzati utilizzando sistemi serverless Servizi AWS, eliminando la necessità di gestire e mantenere l'infrastruttura locale.

Diagramma dell'architettura di un'applicazione mainframe modernizzata in esecuzione su un'infrastruttura serverless. AWS

Il diagramma mostra il seguente processo:

  1. Crea e archivia l'immagine del contenitore in Amazon Elastic Container Registry (Amazon ECR). La definizione del task di Amazon ECS fa riferimento all'immagine utilizzando il tag image.

  2. Utilizza uno dei seguenti tipi di risorse Elastic Load Balancing per fornire un punto di ingresso per le richieste:

    • Per i servizi basati su HTTP, utilizzate un Application Load Balancer. Ciò consente l'uso di certificati TLS per fornire la crittografia durante i controlli di transito e di integrità delle applicazioni.

    • Per altri servizi, come IBM CICS, utilizza un Network Load Balancer. Questo crea in modo trasparente connessioni TCP proxy (livello 4) ai contenitori nel cluster Amazon ECS.

      Nota

      Per i Network Load Balancer, i controlli dello stato dei container richiedono la creazione di una connessione TCP.

  3. Archivia le configurazioni ambientali, come gli endpoint e le credenziali del database, in Secrets Manager o Parameter Store. Con Secrets Manager, paghi in base al numero di segreti archiviati e alle chiamate API effettuate. Questo servizio è ideale per tutti i dati sensibili, come le credenziali del database. Con Parameter Store, non sono previsti costi aggiuntivi per i parametri standard e la velocità effettiva standard delle interazioni API. Questo servizio è più adatto per altri dati non sensibili, come i parametri di registrazione Java.

  4. Usa Amazon S3 per archiviare gli input e gli output delle attività. La AWS Command Line Interface (AWS CLI) all'interno del wrapper bash gestisce l'integrazione del contenitore con Amazon S3. Gli eventi di Amazon S3, come PutObject le richieste, possono essere utilizzati per attivare flussi di lavoro, come l'esecuzione dell'attività Amazon ECS per un processo in batch o la distribuzione di output ai consumatori downstream.

  5. Usa Amazon Aurora PostgreSQL Compatible Edition in sostituzione del motore di database mainframe, come IBM Db2 o IBM IMS. I dettagli di connessione, come endpoint e credenziali, vengono forniti in fase di esecuzione dell'operazione. Uno degli aspetti più impegnativi della modernizzazione dei carichi di lavoro mainframe è garantire che gli input corrispondano tra il mainframe e la versione modernizzata dell'applicazione. Esistono poche soluzioni CDC (Change Data Capture) in tempo reale in grado di replicare i dati da un mainframe a un moderno motore di database come PostgreSQL. Assicurati di avere una buona conoscenza dei dati necessari all'applicazione modernizzata e di come verranno resi disponibili.

  6. La definizione delle attività per i servizi in tempo reale include dettagli sull'immagine del contenitore, su quali porte TCP/IP devono essere presentate alle risorse di bilanciamento del carico e sul numero di contenitori necessari in un dato momento. L'interruttore di distribuzione integrato di Amazon ECS (post AWS sul blog) fornisce un meccanismo di distribuzione gestito e con aggiornamenti continui che elimina il sovraccarico operativo legato alla gestione delle distribuzioni di servizi.

  7. La definizione delle attività per i lavori in batch include dettagli sull'immagine del contenitore e sulle eventuali variabili di ambiente necessarie per la configurazione. Queste possono includere le risorse disponibili (come CPU, RAM o archiviazione temporanea), input, output e altre impostazioni.

  8. Usa Amazon S3 Event Notifications o Amazon EventBridge per avviare flussi di lavoro. Questi servizi possono avviare un AWS Step Functions flusso di lavoro o elaborare oggetti in base a eventi in Amazon S3, ad esempio quando un processo scrive un oggetto di output in un bucket.

  9. Utilizzato AWS Step Functionsper completare l'operazione dei lavori in batch in Amazon ECS. Il flusso di lavoro può avviare un'operazione in batch, monitorarne l'avanzamento e gestire eventuali errori.

Con i carichi di lavoro mainframe, è probabile che sia necessario un certo grado di personalizzazione. Questa architettura è pensata per essere compatibile con i casi d'uso più comuni ed è possibile estenderla per supportare molti requisiti.