Conception d'applications basée sur des conteneurs - AWS Conseils prescriptifs

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

Défis liés à 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 le AWS cloud :

  • Cessibilité : pour qu'un conteneur reste « sans état », il peut être nécessaire de 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 court, tandis que votre serveur d'applications Java EE risque de ne pas être en mesure de s'exécuter dans l'environnement de conteneur.

  • Compatibilité avec les plateformes de conteneurs : vous devrez peut-être réduire les fonctionnalités propres à l'exécution d'application, telles que la mise en cluster, 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'application, 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 les meilleures pratiques suivantes lorsque vous concevez vos applications Java EE basées sur des conteneurs pour le AWS 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-la dans tous les environnements.

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

  • Concevez votre conteneur de manière à ce qu'il réponde à un seul objectif. Pour plus d'informations sur la conception d'un conteneur à usages multiples, veuillez consulter le billet de blog Using sidecar injection on Amazon EKS with AWS App Mesh.

  • Assurez-vous que votre conteneur met en œuvre tout ce qui est nécessaire APIs.

  • Concevez votre conteneur de manière à ce que sa configuration système soit adaptée à l'utilisation du processeur, à la mémoire système et au stockage persistant.

Pour plus d'informations sur les bonnes pratiques, veuillez consulter Principles of Container-based Application Design dans la documentation Kubernetes.