Diseño de aplicaciones basadas en contenedores - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Diseño de aplicaciones basadas en contenedores

Desafíos de redefinir la plataforma de Java EE

Puede enfrentarse a los siguientes desafíos al migrar su aplicación Java EE a una plataforma contenerizada en la AWS nube:

  • Disponibilidad: para mantener un contenedor “sin estado”, es posible que tenga que almacenar el estado de la sesión en una base de datos externa. Las aplicaciones basadas en contenedores requieren un tiempo de ejecución más rápido y reducido, y es posible que el servidor de aplicaciones Java EE no se pueda ejecutar en el entorno del contenedor.

  • Compatibilidad con plataformas de contenedores: es posible que tenga que reducir las capacidades específicas del tiempo de ejecución de las aplicaciones, como la agrupación en clústeres, la implementación de aplicaciones y las replicaciones de memoria.

  • Portabilidad: las aplicaciones basadas en contenedores se implementan mediante un tiempo de ejecución de aplicaciones, mientras que las aplicaciones Java EE tradicionales se implementan mediante paquetes de aplicaciones (archivos .jar o .war).

Prácticas recomendadas para el diseño de aplicaciones basadas en contenedores

Le recomendamos que siga estas prácticas recomendadas al diseñar sus aplicaciones Java EE basadas en contenedores para la nube: AWS

  • Evite realizar cambios en la instancia de contenedor después de crearla. Si debe realizar cambios, cree una nueva imagen de contenedor y reutilícela en todos los entornos.

  • Evite almacenar datos permanentes dentro de un contenedor.

  • Diseñe el contenedor de manera que tenga un único propósito. Para obtener información sobre el diseño de un contenedor que sirva para varios propósitos, consulte la publicación del blog Uso de la inyección de asociados en Amazon EKS con AWS App Mesh.

  • Asegúrese de que su contenedor implemente todo lo necesario. APIs

  • Diseñe el contenedor de modo que los requisitos del sistema se basen en el uso de CPU, la memoria del sistema y el almacenamiento persistente.

Para obtener más información sobre prácticas recomendadas, consulte Principios del diseño de aplicaciones basadas en contenedores en la documentación de Kubernetes.