Architecture de solution pour exécuter les charges de travail modernisées de Blu Age surAWS - AWS Directives prescriptives

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Architecture de solution pour exécuter les charges de travail modernisées de Blu Age surAWS

La solution exécute l'application modernisée dans unDockerconteneur orchestré parAmazon Elastic Container Service (Amazon ECS). Le script wrapper shell qui s'exécute dans l'image du conteneur gère l'application Java modernisée, notamment la collecte des entrées, le fonctionnement du code Java ainsi que le traitement et la distribution des sorties.

Le code d'application Java contenu dans le conteneur est hors du champ d'application de ce guide. À un niveau élevé, le script wrapper shell fait office de point d'entrée vers le conteneur et orchestre diverses tâches. Au moment de l'exécution, l'ECSdéfinition de la tâchefournit les métadonnées environnementales, telles que les compartiments Amazon Simple Storage Service (Amazon S3), en utilisant des intégrations natives avecAWS Secrets ManageretMagasin de paramètres, une capacité deAWS Systems Manager.

L'architecture suivante est conçue pour exécuter des charges de travail de mainframe modernisées en utilisant le mode sans serveurServices AWS, éliminant ainsi le besoin de gérer et de maintenir l'infrastructure sur site.

Schéma d'architecture d'une application mainframe modernisée exécutée surAWSinfrastructure sans serveur.

Le schéma montre le processus suivant :

  1. Créez et stockez l'image du conteneur dansAmazon Elastic Container Registry (Amazon ECR). La définition de tâche Amazon ECS fait référence à l'image à l'aide de la balise image.

  2. Utilisez l'un des types de ressources Elastic Load Balancing suivants pour fournir un point d'entrée pour les demandes :

    • Pour les services basés sur le protocole HTTP, utilisez unÉquilibreur de charge d'applications. Cela permet d'utiliser des certificats TLS pour assurer le chiffrement en transit et les contrôles de santé des applications.

    • Pour d'autres services, tels qu'IBM CICS, utilisez unÉquilibreur de charge réseau. Cela crée de manière transparente des connexions TCP proxy (couche 4) vers les conteneurs du cluster Amazon ECS.

      Note

      Pour les équilibreurs de charge réseau, les contrôles de santé des conteneurs nécessitent l'établissement d'une connexion TCP.

  3. Stockez les configurations environnementales, telles que les points de terminaison et les informations d'identification des bases de données, dans Secrets Manager ou Parameter Store. Avec Secrets Manager, vous payez en fonction du nombre de secrets stockés et d'appels d'API effectués. Ce service convient parfaitement à toutes les données sensibles, telles que les informations d'identification de base de données. Avec Parameter Store, il n'y a pas de frais supplémentaires pour les paramètres standard et le débit standard des interactions d'API. Ce service est particulièrement adapté à d'autres données non sensibles, telles que les paramètres de journalisation Java.

  4. UtiliserAmazon S3pour stocker les entrées et les sorties des tâches. LeAWS Command Line Interface(AWS CLI)l'intérieur du wrapper bash gère l'intégration du conteneur avec Amazon S3. Les événements Amazon S3, tels quePutObjectrequêtes, peuvent être utilisées pour déclencher des flux de travail, tels que l'exécution de la tâche Amazon ECS pour un traitement par lots ou la fourniture de résultats à des consommateurs en aval.

  5. UtiliserÉdition compatible avec Amazon Aurora PostgreSQLen remplacement du moteur de base de données mainframe, tel qu'IBM Db2 ou IBM IMS. Les détails de connexion, tels que les points de terminaison et les informations d'identification, sont fournis lors de l'exécution de la tâche. L'un des aspects les plus difficiles de la modernisation des charges de travail d'un mainframe est de s'assurer que les entrées correspondent entre le mainframe et les versions modernisées de l'application. Il existe peu de solutions de capture de données modifiées (CDC) en temps réel capables de répliquer les données d'un mainframe vers un moteur de base de données moderne tel que PostgreSQL. Assurez-vous de bien comprendre les données dont l'application modernisée a besoin et la manière dont elles seront mises à disposition.

  6. La définition des tâches pour les services en temps réel inclut des détails sur l'image du conteneur, les ports TCP/IP qui doivent être présentés aux ressources d'équilibrage de charge et le nombre de conteneurs requis à un moment donné. L'intégréDisjoncteur de déploiement Amazon ECS(AWSarticle de blog) fournit un mécanisme de déploiement géré de mises à jour continues qui élimine les frais opérationnels liés à la gestion des déploiements de services.

  7. La définition des tâches pour les tâches par lots inclut des détails sur l'image du conteneur et sur toutes les variables d'environnement requises pour la configuration. Il peut s'agir des ressources disponibles (telles que le processeur, la RAM ou le stockage éphémère), des entrées, des sorties et d'autres paramètres.

  8. UtiliserNotifications d'événements Amazon S3ouAmazonEventBridgepour lancer des flux de travail. Ces services peuvent lancer uneAWS Step Functionsdes objets de flux de travail ou de processus basés sur des événements dans Amazon S3, par exemple lorsqu'une tâche écrit un objet de sortie dans un bucket.

  9. UtiliserAWS Step Functionspour encapsuler le fonctionnement des tâches par lots dans Amazon ECS. Le flux de travail peut démarrer une tâche par lots, suivre sa progression et gérer les erreurs éventuelles.

En ce qui concerne les charges de travail du mainframe, il est probable qu'un certain degré de personnalisation soit nécessaire. Cette architecture est conçue pour être compatible avec les cas d'utilisation courants et vous pouvez l'étendre pour répondre à de nombreuses exigences.