Â
Este curso avanzado muestra cómo integrar las pruebas y la seguridad en canalizaciones de integración continua (CI), entrega continua (CD) e implementación continua (CD). Aprenderá a implementar prácticas de pruebas avanzadas en varias fases del ciclo de vida de las aplicaciones para ofrecer actualizaciones de las mismas de forma más segura y fiable. Aprenderá a utilizar las herramientas de DevOps de AWS, como AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy y AWS CodePipeline, para implementar las prácticas de pruebas avanzadas.
Â
También aprenderá a configurar mecanismos de revisión y realizar análisis de código estático para identificar problemas en las primeras fases del desarrollo. Explorará varios tipos de pruebas, como pruebas de seguridad, sintéticas y de carga, utilizando AWS Lambda y Amazon CloudWatch.
• Nivel del curso: avanzado
• Duración: 2,5 horas
Â
Nota: Este curso tiene transcripciones o subtÃtulos localizados. La narración está en inglés.
Para mostrar los subtÃtulos, haga clic en el botón CC en la esquina inferior derecha del reproductor.
Â
ActividadesEn el curso, se incluyen presentaciones de vÃdeo, demostraciones, enlaces a recursos y pruebas de conocimientos.
Â
Objetivos del cursoEn este curso, aprenderá a hacer lo siguiente:
• Explicar los beneficios de automatizar las pruebas en canalizaciones de CI/CD
• Describir métodos para promover cambios de aplicaciones en los repositorios de código y explicar el proceso de las solicitudes de extracción
• Crear buildspec.yaml para pruebas de CI, como pruebas unitarias, pruebas de seguridad y ajuste de código
• Utilizar análisis de código estático para identificar problemas de seguridad o código
• Explicar cómo se pueden realizar distintos tipos de pruebas, incluidas las pruebas de integración, carga y rendimiento durante la entrega continua
• Aplicar pruebas sintéticas para probar la disponibilidad continua del servicio mediante alarmas AWS Lambda y Amazon CloudWatch
• Aplicar pruebas canary para identificar el estado de implementación durante las implementaciones continuas
• Demostrar pruebas que se activan por aprobación de canalizaciones para identificar el estado de la aplicación
• Administrar el flujo de canalización cuando se producen errores de servicio durante las implementaciones continuas
Â
Destinatarios previstosEste curso está dirigido a los siguientes destinatarios:
• Ingenieros de DevOps
• Desarrolladores de DevOps
Â
Requisitos previosRecomendamos que los asistentes a este curso cumplan con los siguientes requisitos:
• Hayan completado el curso System Operations on AWS o DevOps Engineering on AWS
• Disponer de conocimientos prácticos de uno o varios lenguajes de programación de alto nivel (C#, Java, PHP, Ruby, Python, etc.)
• Contar con conocimientos intermedios sobre la administración de sistemas Linux o Windows en el nivel de la lÃnea de comandos
• Disponer de experiencia práctica con AWS mediante el uso de la consola de administración de AWS y la interfaz de lÃnea de comandos de AWS (CLI de AWS)
• Experiencia competente con metodologÃa y prácticas de DevOps
Â
Esquema del cursoMódulo 1: Información general de las pruebas
• Identificar los beneficios de una estrategia de pruebas en su desarrollo
• Describir las diferentes etapas de las pruebas utilizando la pirámide de pruebas
• Utilizar la cobertura de pruebas para diseñar un plan de pruebas eficaz
• Reconocer los beneficios de automatizar las pruebas en el ciclo de vida de desarrollo
Â
Módulo 2: Revisión de DevOps
• Identificar las prácticas de DevOps que proporcionan revisiones de aplicaciones más rápidas
• Aplicar el conocimiento de las herramientas de AWS, como AWS CodeCommit, AWS CodeDeploy, AWS CodeBuild y AWS CodePipeline, para crear y automatizar la canalización de CI/CD
• Utilizar las opciones sin servidor de AWS y herramientas de terceros en cada etapa de la canalización de CI/CD
Â
Módulo 3. Integración continua
• Establecer estándares de código como requisito en la práctica de desarrollo
• Implementar varios métodos de prueba en la fase de CI
• Aplicar los beneficios de las pruebas unitarias y el análisis de código estático
• Aplicar el desarrollo controlado por pruebas (TDD) y el desarrollo controlado por comportamiento (BDD) para crear una estrategia de pruebas efectiva
• Utilizar Amazon CodeGuru para revisar y mejorar la calidad del código
• Demostración: análisis de código estático
• Demostración: realizar solicitud de extracción
Â
Módulo 4: Entrega continua
• Aplicar métodos de prueba en la fase de entrega continua según sea necesario
• Reconocer los beneficios de las pruebas funcionales, de regresión y de rendimiento
• Implementar métodos de prueba mediante herramientas de terceros o opciones sin servidor
• Realizar pruebas sintéticas para garantizar la continuidad de un servicio
• Automatizar las pruebas de seguridad para implementar reglas de auditorÃa de seguridad
• Demostración: pruebas sintéticas
Â
Módulo 5. Implementación continua
• Aplicar métodos de prueba en la fase de implementación continua según sea necesario
• Utilizar las comprobaciones de estado como estrategia para evitar errores de implementación
• Realizar pruebas de activación de aprobaciones para automatizar la implementación continua
• Utilizar AWS Lambda para automatizar las aprobaciones
• Aplicar opciones de implementación disponibles con AWS CodeDeploy
• Implementar tipos de implementación, incluidas implementaciones segmentadas y canary
• Controlar el flujo de canalización deshabilitando y rehabilitando las transiciones entre fases
• Demostración: Amazon CloudWatch Synthetics
• Demostración: detención de una implementación
 
Módulo 6: Resumen del curso
• Retirar e identificar diversos recursos de los temas del curso
• (Opcional) Crear un entorno de pruebas utilizando código de muestra en una cuenta de AWS propia para probar los conocimientos
Â