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.
Compilación
Durante la fase de creación de una DevOps estrategia, se construye la infraestructura técnica y se fomenta un cambio cultural hacia la colaboración, la automatización y la mejora continua. Esta fase fundamental implica la organización práctica de las herramientas y los procesos. Abarca lo siguiente:
-
Configuración de cadenas de DevOps herramientas
-
Establecimiento de conexiones
-
Creación de canalizaciones que guíen el desarrollo del código a través del despliegue de aplicaciones
Incluye no solo el aspecto técnico de la creación de software, sino también el cambio de la cultura del desarrollo hacia la colaboración, la automatización y la mejora continua. Al seguir los principios de integración continua y entrega continua (CI/CD), la fase de creación tiene como objetivo agilizar el proceso de desarrollo e implementación, mejorar la calidad del software y acelerar la implementación de aplicaciones de mainframe modernizadas. AWS
El siguiente diagrama representa las diferentes etapas de un proceso de implementación. Cada etapa contiene los pasos necesarios y recomendados que se deben implementar en un proceso de despliegue de cargas de trabajo de mainframe modernizado.

Las etapas del proceso de implementación de la carga de trabajo del mainframe modernizado incluyen las siguientes:
-
Etapa de origen: los pasos necesarios son la configuración, los manifiestos de dependencia, los activos estáticos, la fuente de infraestructura, la fuente de pruebas y la fuente de la aplicación. El paso recomendado es la fuente de la base de datos.
-
Etapa de creación: los pasos necesarios son los artefactos del paquete, las pruebas de seguridad estáticas de las aplicaciones, la detección de secretos, la calidad del código, las pruebas unitarias y la compilación del código. Los pasos recomendados son la lista de materiales del software y el análisis de la composición del software.
-
Etapa de prueba (beta): los pasos necesarios son las pruebas de aceptación y las pruebas de integración. Los pasos recomendados son implementar el software, implementar la base de datos y lanzar el entorno.
-
Etapa de prueba (gamma): los pasos necesarios son la prueba sintética, la supervisión y el registro, la implementación del software y el lanzamiento del entorno. Los pasos recomendados son las pruebas dinámicas de seguridad de las aplicaciones (DAST), las pruebas de resiliencia, las pruebas de rendimiento y la implementación de la base de datos.
-
Etapa de producción: los pasos necesarios son las pruebas sintéticas y la implementación progresiva. Los pasos recomendados son la implementación de la base de datos y la aprobación manual.
Integración continua
La integración continua (CI) es una práctica de desarrollo de software en la que los desarrolladores realizan pequeñas modificaciones periódicas en el código y las integran en una rama liberable del repositorio de código. El código recién integrado se crea, prueba y valida de forma autónoma de forma coherente y repetible. La CI permite a los desarrolladores recibir comentarios con rapidez, identificar posibles problemas en las primeras etapas del ciclo de vida del desarrollo y abordarlos antes de que aumenten en complejidad y coste.
La integración continua puede acelerar y agilizar considerablemente el proceso de modernización del mainframe en AWS. Los principios de CI se aplican a las siguientes áreas:
-
Integración frecuente del código: en una canalización de CI, los cambios de código se integran en un repositorio compartido con frecuencia, a menudo varias veces al día. Esto promueve la colaboración y garantiza que todo el equipo de desarrollo trabaje con la mayor cantidad de up-to-date código base. La CI también puede ayudar a gestionar los cambios en el código y a realizar un seguimiento del historial de modificaciones. Herramientas basadas en Git AWS CodeCommit, como GitLab, y GitHub pueden ayudar en la integración y colaboración frecuentes del código. El código de estos repositorios de git se puede volver a sincronizar con el mainframe a través de conectores como el conector Git para OpenText
Changeman ZMF. -
Pruebas automatizadas: CI fomenta la creación de conjuntos de pruebas automatizadas para aplicaciones de mainframe. Esto garantiza que, a medida que el código se refactoriza para la nube, siga siendo funcional y libre de errores. Las pruebas automatizadas pueden incluir pruebas unitarias y pruebas de integración. Las aplicaciones de mainframe se pueden probar unitariamente mediante marcos como ZUnit
. -
Detección temprana de problemas: al ejecutar pruebas automatizadas y herramientas de análisis de código estático cada vez que se ejecuta un código, los sistemas de CI detectan y detectan rápidamente cualquier problema. Esto ayuda a los equipos de desarrollo a abordar los problemas al principio del ciclo de desarrollo, lo que reduce el riesgo de que se produzcan contratiempos importantes durante la migración. Herramientas como Veracode pueden ayudar a la detección temprana de problemas SonarQube y a mejorar la calidad del código tanto para el COBOL de mainframe como para el código Java modernizado.
-
Retroalimentación rápida: los sistemas de CI proporcionan información rápida a los desarrolladores sobre la calidad de su código, lo que puede conducir a una mejora continua en el proceso de modernización.
Entrega continua
La entrega continua (CD) se lleva a cabo después de la integración continua (CI). En CD, los cambios de código que superan la validación de compilación se implementan automáticamente en otros entornos, incluido el de producción, con una intervención humana mínima. El CD ayuda a garantizar que las nuevas funciones, correcciones y mejoras se implementen de manera rápida y confiable. El CD reduce los plazos de entrega y mejora la eficiencia general del proceso de implementación. Al automatizar el proceso de entrega mediante el CD, el sistema gestiona el proceso lento y propenso a errores de implementar cambios en varios entornos, mientras que los equipos se centran en desarrollar y perfeccionar el código.
El CD facilita la transición de las aplicaciones de mainframe modernizadas al AWS automatizar el proceso de implementación. Los principios del CD se aplican a las siguientes áreas:
-
Implementaciones automatizadas: para reducir la intervención manual y la posibilidad de que se cometan errores humanos durante el proceso de migración, CD automatiza la implementación de los cambios de código en los entornos de destino. Herramientas como AWS CodeDeploy Jenkins e IBM Urban CodeDeploy pueden ayudar a implementar progresivamente los artefactos en diferentes entornos (por ejemplo, Dev, Test o Prod).
-
Despliegue continuo: la diferencia entre la entrega continua y el despliegue continuo es la presencia de una aprobación manual para la actualización a producción. En el despliegue continuo, la producción se produce automáticamente sin aprobación explícita.
-
Circuito de retroalimentación rápido: las implementaciones automatizadas proporcionan información rápida sobre si los cambios de código están listos para su implementación. Este circuito de retroalimentación garantiza que solo se implemente código probado y validado exhaustivamente.
-
Ciclos de publicación frecuentes: al usar el CD, su organización puede lanzar nuevas funciones, mejoras y código modernizado con mayor frecuencia. Esta agilidad ayuda a las empresas a adaptarse a los requisitos cambiantes y a mantenerse competitivas.
-
Capacidades de reversión: las canalizaciones de CD deben incluir mecanismos de reversión. Si hay problemas o un comportamiento inesperado en el AWS entorno, los equipos pueden utilizar los mecanismos para volver a una versión anterior de una aplicación.
-
Infraestructura como código: el CD se puede combinar con herramientas de infraestructura como código (IaC), como AWS CloudFormation HashiCorp Terraform, para definir y aprovisionar la infraestructura de forma coherente. El aprovisionamiento coherente ayuda a garantizar que el AWS entorno se ajuste a la configuración requerida.