Conception d'applications basée sur des conteneurs - AWSDirectives 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.

Conception d'applications basée sur des conteneurs

Les défis de la replateforme Java EE

Vous pouvez faire face aux défis suivants lorsque vous migrez votre application Java EE vers une plateforme conteneurisée dans leAWS cloud :

  • Disposabilité : pour qu'un conteneur reste « sans état », vous devrez peut-être stocker l'état de la session dans une base de données externe. Les applications basées sur des conteneurs nécessitent un temps d'exécution plus rapide et plus petit, et votre serveur d'applications Java EE risque de ne pas être en mesure de fonctionner dans l'environnement de conteneurs.

  • Compatibilité avec les plateformes de conteneurs : vous devrez peut-être réduire les fonctionnalités spécifiques à l'exécution des applications, telles que le clustering, le déploiement d'applications et les réplications de mémoire.

  • Portabilité : les applications basées sur des conteneurs sont déployées à l'aide d'un environnement d'exécution d'applications, tandis que les applications Java EE traditionnelles sont déployées à l'aide de packages d'applications (fichiers .jar ou .war).

Bonnes pratiques pour la conception d'applications basées sur des conteneurs

Nous vous recommandons de suivre ces bonnes pratiques lorsque vous concevez vos applications Java EE basées sur des conteneurs pour leAWS cloud :

  • Évitez d'apporter des modifications à votre instance de conteneur après l'avoir créée. Si vous devez apporter des modifications, créez une nouvelle image de conteneur et réutilisez cette nouvelle image dans tous les environnements.

  • Évitez de stocker des données permanentes dans votre conteneur.

  • Concevez votre contenant de manière à ce qu'il réponde à un seul objectif. Pour plus d'informations sur la conception d'un conteneur à usages multiples, consultez l'article Utilisation de l'injection en side-car sur Amazon EKS avec article deAWS App Mesh blog.

  • Assurez-vous que votre conteneur implémente toutes les API nécessaires.

  • Concevez votre conteneur de manière à ce que ses exigences système soient fonction de l'utilisation du processeur, de la mémoire système et du stockage persistant.

Pour plus d'informations sur les meilleures pratiques, consultez les Principes de conception d'applications basées sur des conteneurs dans la documentation Kubernetes.