

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.

# Conteneurisez les charges de travail du mainframe qui ont été modernisées par Blu Age
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age"></a>

*Richard Milner-Watts, Amazon Web Services*

## Résumé
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-summary"></a>

Ce modèle fournit un exemple d'environnement de conteneur pour exécuter des charges de travail mainframe qui ont été modernisées à l'aide de l'outil [Blu](https://www.bluage.com/) Age. Blu Age convertit les charges de travail des ordinateurs centraux existants en code Java moderne. Ce modèle enveloppe l'application Java afin que vous puissiez l'exécuter à l'aide de services d'orchestration de conteneurs tels qu'Amazon [Elastic Container Service (Amazon ECS) ou Amazon [Elastic Kubernetes Service (Amazon](https://aws.amazon.com/eks/) EKS)](https://aws.amazon.com/ecs/).

Pour plus d'informations sur la modernisation de vos charges de travail à l'aide de Blu Age et des services AWS, consultez les publications AWS Prescriptive Guidance suivantes :
+ [Exécution de charges de travail de mainframe Blu Age modernisées sur une infrastructure AWS sans serveur](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Déployez un environnement pour les applications Blu Age conteneurisées à l'aide de Terraform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html)

Pour obtenir de l'aide sur l'utilisation de Blu Age afin de moderniser les charges de travail de votre mainframe, contactez l'équipe Blu Age en sélectionnant **Contacter nos experts** sur le site Web de [Blu Age](https://www.bluage.com/). Pour obtenir de l'aide concernant la migration de vos charges de travail modernisées vers AWS, leur intégration aux services AWS et leur mise en production, contactez votre responsable de compte AWS ou remplissez le formulaire [AWS Professional](https://pages.awscloud.com/AWS-Professional-Services.html) Services.

## Conditions préalables et limitations
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-prereqs"></a>

**Conditions préalables**
+ Une application Java modernisée créée par Blu Age. À des fins de test, ce modèle fournit un exemple d'application Java que vous pouvez utiliser comme preuve de concept.
+ Un environnement [Docker](https://aws.amazon.com/docker/) que vous pouvez utiliser pour créer le conteneur.

**Limites**

Selon la plate-forme d'orchestration de conteneurs que vous utilisez, les ressources pouvant être mises à la disposition du conteneur (telles que le processeur, la RAM et le stockage) peuvent être limitées. Par exemple, si vous utilisez Amazon ECS avec AWS Fargate, consultez la documentation [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) pour connaître les limites et les considérations.

## Architecture
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-architecture"></a>

**Pile technologique source**
+ Âge bleu
+ Java

**Pile technologique cible**
+ Docker

**Architecture cible**

Le schéma suivant montre l'architecture de l'application Blu Age dans un conteneur Docker.

![Application Blu Age dans un conteneur Docker](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/c1747094-357b-4222-b4eb-b1336d810f83/images/0554332d-eff5-49ca-9789-da39b5a10045.png)


1. Le point d'entrée du conteneur est le script wrapper. Ce script bash est chargé de préparer l'environnement d'exécution de l'application Blu Age et de traiter les sorties.

1. Les variables d'environnement du conteneur sont utilisées pour configurer les variables du script wrapper, telles que les noms de bucket Amazon Simple Storage Service (Amazon S3) et les informations d'identification de base de données. Les variables d'environnement sont fournies soit par AWS Secrets Manager, soit par Parameter Store, une fonctionnalité d'AWS Systems Manager. Si vous utilisez Amazon ECS comme service d'orchestration de conteneurs, vous pouvez également coder en dur les variables d'environnement dans la définition de tâche Amazon ECS.

1. Le script wrapper est chargé d'extraire tous les fichiers d'entrée du compartiment S3 vers le conteneur avant d'exécuter l'application Blu Age. L'interface de ligne de commande AWS (AWS CLI) est installée dans le conteneur. Cela fournit un mécanisme permettant d'accéder aux objets stockés dans Amazon S3 via le point de terminaison VPC (Virtual Private Cloud) de la passerelle.

1. Le fichier Java Archive (JAR) de l'application Blu Age peut avoir besoin de communiquer avec d'autres sources de données, telles qu'Amazon Aurora.

1. Une fois terminé, le script wrapper fournit les fichiers de sortie obtenus dans un compartiment S3 pour un traitement ultérieur (par exemple, par Amazon CloudWatch Logging Services). Le modèle prend également en charge l'envoi de fichiers journaux compressés à Amazon S3, si vous utilisez une alternative à la CloudWatch journalisation standard.

## Outils
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-tools"></a>

**Services AWS**
+ [Amazon Elastic Container Registry (Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)) est un service géré de registre d'images de conteneurs sécurisé, évolutif et fiable.
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) est un service de gestion de conteneurs évolutif et rapide, qui facilite l'exécution, l'arrêt et la gestion de conteneurs Docker sur un cluster.

**Outils**
+ [Docker](https://aws.amazon.com/docker/) est une plate-forme logicielle permettant de créer, de tester et de déployer des applications. Docker regroupe les logiciels dans des unités standardisées appelées [conteneurs](https://aws.amazon.com/containers/), qui contiennent tout ce dont le logiciel a besoin pour fonctionner, notamment les bibliothèques, les outils système, le code et le runtime. Vous pouvez utiliser Docker pour déployer et faire évoluer des applications dans n'importe quel environnement.
+ [Bash](https://www.gnu.org/software/bash/manual/) est une interface en langage de commande (shell) pour le système d'exploitation GNU.
+ [Java](https://www.java.com/) est le langage de programmation et l'environnement de développement utilisés dans ce modèle.
+ [Blu Age](https://www.bluage.com/) est un outil de modernisation du mainframe AWS qui convertit les charges de travail du mainframe existant, y compris le code d'application, les dépendances et l'infrastructure, en charges de travail modernes pour le cloud.

**Référentiel de code**

Le code de ce modèle est disponible dans le [référentiel de conteneurs d'échantillons GitHub Blu Age](https://github.com/aws-samples/aws-blu-age-sample-container).

## Bonnes pratiques
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-best-practices"></a>
+ Externalisez les variables pour modifier le comportement de votre application en utilisant des variables d'environnement. Ces variables permettent à la solution d'orchestration de conteneurs de modifier l'environnement d'exécution sans reconstruire le conteneur. Ce modèle inclut des exemples de variables d'environnement qui peuvent être utiles pour les applications Blu Age.
+ Validez toutes les dépendances des applications avant d'exécuter votre application Blu Age. Par exemple, vérifiez que la base de données est disponible et que les informations d'identification sont valides. Écrivez des tests dans le script wrapper pour vérifier les dépendances, et échouez prématurément si elles ne sont pas satisfaites.
+ Utilisez la journalisation détaillée dans le script wrapper. L'interaction directe avec un conteneur en cours d'exécution peut s'avérer difficile, en fonction de la plate-forme d'orchestration et de la durée du travail. Assurez-vous que le résultat utile est écrit pour aider `STDOUT` à diagnostiquer les problèmes éventuels. Par exemple, la sortie peut inclure le contenu du répertoire de travail de l'application avant et après l'exécution de l'application.

## Épopées
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-epics"></a>

### Obtenir un fichier JAR de l'application Blu Age
<a name="obtain-a-blu-age-application-jar-file"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Option 1 - Travaillez avec Blu Age pour obtenir le fichier JAR de votre application. | Le contenant de ce modèle nécessite une application Blu Age. Vous pouvez également utiliser l'exemple d'application Java fourni avec ce modèle pour un prototype.<br />Travaillez avec l'équipe Blu Age pour obtenir un fichier JAR pour votre application qui pourra être intégré au conteneur. Si le fichier JAR n'est pas disponible, reportez-vous à la tâche suivante pour utiliser l'exemple d'application à la place. | Architecte du cloud | 
| Option 2 : créez ou utilisez le fichier JAR d'application d'exemple fourni. | Ce modèle fournit un exemple de fichier JAR prédéfini. Ce fichier affiche les variables d'environnement de l'application `STDOUT` avant de dormir pendant 30 secondes et de quitter l'application.<br />Ce fichier est nommé `bluAgeSample.jar` et se trouve dans le [dossier docker](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/docker) du GitHub dépôt.<br />Si vous souhaitez modifier le code et créer votre propre version du fichier JAR, utilisez le code source situé à l'adresse[. /java\_ sample/src/sample \_java\_app.java dans le dépôt](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/java_sample/src). GitHub Vous pouvez utiliser le script de compilation à l'adresse[. ](https://github.com/aws-samples/aws-blu-age-sample-container/tree/main/java_sample)/java\_sample/build.sh pour compiler le code source Java et créer un nouveau fichier JAR. | Développeur d’applications | 

### Construisez le conteneur Blu Age
<a name="build-the-blu-age-container"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Clonez le GitHub dépôt. | Clonez le référentiel d'exemples de code à l'aide de la commande :<pre>git clone https://github.com/aws-samples/aws-blu-age-sample-container</pre> | AWS DevOps | 
| Utilisez Docker pour créer le conteneur. | Utilisez Docker pour créer le conteneur avant de le transférer vers un registre Docker tel qu'Amazon ECR :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html) | AWS DevOps | 
| Testez le conteneur Blu Age. | (Facultatif) Si nécessaire, testez le conteneur localement à l'aide de la commande :<pre>docker run -it <tag> /bin/bash</pre> | AWS DevOps | 
| Authentifiez-vous auprès de votre référentiel Docker. | Si vous prévoyez d'utiliser Amazon ECR, suivez les instructions de la [documentation Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html) pour installer et configurer l'AWS CLI et authentifier la CLI Docker dans votre registre par défaut.<br />Nous vous recommandons d'utiliser la [get-login-password commande](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ecr/get-login-password.html) pour l'authentification.  La [console Amazon ECR](https://console.aws.amazon.com/ecr/) fournit une version préremplie de cette commande si vous utilisez le bouton **Afficher les commandes push**. Pour plus d'informations, consultez la [documentation Amazon ECR.](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-console.html)<pre>aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <account>.dkr.ecr.<region>.amazonaws.com</pre><br />Si vous ne prévoyez pas d'utiliser Amazon ECR, suivez les instructions fournies pour votre système de registre de conteneurs. | AWS DevOps | 
| Créez un référentiel de conteneurs. | Créez un référentiel dans Amazon ECR. Pour obtenir des instructions, consultez le modèle [Déployer un environnement pour les applications Blu Age conteneurisées à l'aide de Terraform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html).<br />Si vous utilisez un autre système de registre de conteneurs, suivez les instructions fournies pour ce système. | AWS DevOps | 
| Marquez et transférez votre conteneur vers le référentiel cible. | Si vous utilisez Amazon ECR :[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.html)<br />Pour plus d'informations, consultez la section [Envoyer une image Docker](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) dans le guide de l'*utilisateur Amazon ECR.* | AWS DevOps | 

## Ressources connexes
<a name="containerize-mainframe-workloads-that-have-been-modernized-by-blu-age-resources"></a>

**Ressources AWS**
+ [Référentiel d'exemples de conteneurs AWS Blu Age](https://github.com/aws-samples/aws-blu-age-sample-container)
+ [Exécution de charges de travail de mainframe Blu Age modernisées sur une infrastructure AWS sans serveur](https://docs.aws.amazon.com/prescriptive-guidance/latest/run-bluage-modernized-mainframes/)
+ [Déployez un environnement pour les applications Blu Age conteneurisées à l'aide de Terraform](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-an-environment-for-containerized-blu-age-applications-by-using-terraform.html)
+ [Utilisation d'Amazon ECR avec l'AWS CLI](https://docs.aws.amazon.com/AmazonECR/latest/userguide/getting-started-cli.html) (*Amazon ECR User Guide*)
+ [Authentification du registre privé](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html) (*Guide de l'utilisateur Amazon ECR*)
+ [Documentation Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html)
+ [Documentation Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html)

**Ressources supplémentaires**
+ [Site web de Blu Age](https://www.bluage.com/)
+ [Site web Docker](https://docker.com/)