Evaluación - 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.

Evaluación

La evaluación de las aplicaciones para su organización en contenedores ayuda a descubrir todas las dependencias y los riesgos. La evaluación también ayuda a clasificar las aplicaciones en buckets prioritarios para la modernización y la migración.

Durante la fase de evaluación, enfóquese en las siguientes áreas clave:

  • Dependencias del sistema operativo para la contenerización: las herramientas de contenedorización automatizadas, como AWS App2Container, tienen algunas limitaciones en los marcos de aplicaciones y los sistemas operativos para la contenedorización. Para obtener más información sobre las aplicaciones compatibles, consulte Documentación de App2Container.

  • Conformidad con la normativa: garantizar que las aplicaciones en contenedores cumplan con todas las normativas antes de implementarlas en el entorno de destino aporta eficacia, en lugar de actuar de forma reactiva después de la implementación y mitigarlas. Compruebe si hay vulnerabilidades en las imágenes, comunicaciones no autorizadas entre contenedores, controles de acceso a los contenedores y a los datos y escaneos automatizados para evitar actividades maliciosas.

  • Solución de recuperación de desastres (DR): cada aplicación tiene su propio acuerdo de nivel de servicio (SLA) específico para el tiempo de inactividad. Tenga en cuenta el objetivo de punto de recuperación (RPO) y el objetivo de tiempo de recuperación (RTO) de la aplicación al planificar la distribución de los clústeres de contenedores. De forma predeterminada, App2Container implementa la aplicación en varias zonas de disponibilidad.

  • Almacenamiento de datos: es mejor utilizar los contenedores sin estado. En el caso de los contenedores con estado, los datos se deben almacenar de forma externa al contenedor. Si un contenedor deja de funcionar, puede crear uno nuevo con la imagen y el volumen externo adjunto sin perder datos.

  • Administración de secretos y configuraciones: el almacén de parámetros del entorno de destino o el almacén de secretos se pueden utilizar para almacenar y recuperar la configuración y los secretos del contenedor. Es fundamental garantizar que solo el contenedor correspondiente pueda acceder a los secretos. Se deben registrar todas las operaciones de configuración y los secretos. El canal de comunicación entre el contenedor y el almacén de secretos debe ser seguro.

  • Administración de registros: en el caso de la auditoría, los registros que genera cada contenedor se enviarán a un servicio de administración de registros externo al contenedor. Debido a que una aplicación consta de varios servicios y procesos, cada uno de los cuales se encuentra en contenedores diferentes, los registros de cada contenedor deben tener un ID único.

  • Proceso de creación e implementación: la mayoría de las empresas tienen algún tipo de proceso de creación e implementación para lanzar sus aplicaciones y características. Para aprovechar la organización en contenedores, la creación e implementación de las aplicaciones deben automatizarse mediante una canalización de CI/CD. Una canalización ofrece ventajas como el aprovisionamiento y desactivación de la infraestructura con un solo clic, implementaciones más rápidas y a prueba de errores, automatización y reducción del tiempo necesario para lanzar características nuevas.

  • Aplicaciones ascendentes y descendentes: es una práctica recomendada organizar en contenedores y migrar todas las aplicaciones dependientes por lotes. En situaciones en las que eso no sea posible, los canales de comunicación desde la aplicación en contenedor hasta las aplicaciones ascendentes y descendentes deben abrirse de forma segura. Asegúrese de que el ancho de banda compatible con este canal no interrumpa la funcionalidad de la aplicación.

  • Dependencias de licencias: varias instancias de una aplicación se ejecutan dentro de contenedores, lo que puede resultar costoso. Compruebe los contratos y la aptitud para implementar software en contenedores. Comprenda qué herramientas se utilizan para medir el software que se utiliza en los contenedores.

  • Posibilidad de organización en contenedores en servidores de aplicaciones o máquinas de trabajo: el proceso de organización en contenedores utiliza recursos adicionales del servidor, como el espacio en disco, la potencia computacional y la memoria. El servidor de aplicaciones debe analizarse para garantizar que sea capaz de soportar el proceso de organización en contenedores. De lo contrario, puede utilizar una máquina de trabajo que cuente con los recursos necesarios y pueda comunicarse con el servidor de aplicaciones.

  • Habilidades de desarrollador y soporte de producción en contenedores: el equipo de aplicaciones actual debería mejorar sus habilidades en la tecnología de organización en contenedores. El equipo debería poder solucionar los problemas del proceso, modificar las configuraciones si fuera necesario y ser capaz de brindar soporte a las aplicaciones implementadas en los contenedores.

Puede usar App2Container para alojar en contenedores las aplicaciones Java que se ejecutan en Linux, como las aplicaciones independientes, Apache Tomcat, IBM y Oracle. JBoss WebSphere WebLogic También puede utilizar App2Container para organizar en contenedores aplicaciones Java genéricas, como Spring Boot. La organización en contenedores de aplicaciones funciona con microservicios y aplicaciones distribuidas. Si bien todas las aplicaciones Java se pueden modernizar con App2Container, los siguientes criterios pueden ayudarlo a elegir las aplicaciones adecuadas para modernizarlas y agilizar las migraciones:

  • Las aplicaciones que se empaquetan como un binario único son más fáciles de organizar en contenedores. Además, las aplicaciones Java se pueden organizar en contenedores con un entorno de ejecución de Java (JRE). Cada contenedor puede utilizar el JRE específico que necesite.

  • Las aplicaciones sin estado son una buena opción para modernizarlas y convertirlas en contenedores. Estas aplicaciones almacenan una cantidad mínima de información a nivel local y almacenan la mayoría de sus datos en un almacén de datos persistente.

  • Las aplicaciones que se lanzan mediante un proceso de integración e implementación continuas (CI/CD) son buenas candidatas para la organización en contenedores. Organice en contenedores cada aplicación e incorpore una plataforma de orquestación de contenedores, como Amazon ECS o Amazon EKS, de la que App2Container se encargue de forma automática.

La mayoría de las aplicaciones empresariales se encuentran integradas con otros servicios de autenticación, almacenamiento de datos persistente, almacenamiento en caché, comunicación asincrónica, registro y notificaciones. La aplicación en contenedor debe probarse en las instalaciones con todos los puntos de integración existentes para facilitar el éxito de la organización en contenedores. Cuando esté listo para migrar AWS, debe migrar a todos los puntos de integración y almacenamiento de datos adecuados. AWS Se deben realizar todas las actualizaciones necesarias en la configuración antes de poder implementar el contenedor de aplicaciones en AWS.

Los datos almacenados en los sistemas de archivos se pueden migrar AWS mediante diversas herramientas que se adapten al caso de uso. Los datos almacenados en una memoria caché como Redis se pueden migrar a Amazon ElastiCache. Los datos almacenados en las bases de datos se pueden migrar mediante las propias herramientas nativas de la base de datos o mediante AWS Database Migration Service(AWS DMS). AWS DMS también ofrece la opción de captura de datos de cambios (CDC) para replicar los cambios en curso desde un almacén de datos de origen hasta una transición.

AWS proporciona su propio servicio de visualización y registro de datos operativos y de monitoreo llamado Amazon CloudWatch. Para utilizar este servicio, se puede empaquetar un CloudWatch agente en el contenedor junto con la aplicación.

En el caso de las organizaciones en las que el código fuente no se encuentra disponible o no se puede mantener, App2Container es ideal para la organización en contenedores, ya que funciona en el entorno de tiempo de ejecución de la aplicación y no requiere el código fuente.