Introducción

Completado

En este módulo se presentan patrones de implementación y se explica la arquitectura de microservicios para ayudar a mejorar el ciclo de implementación y examinar patrones de implementación clásicos y modernos.

La entrega continua es una extensión de la integración continua. Se trata de hacer llegar los cambios a los clientes rápidamente y usar métodos sostenibles.

La entrega continua va más allá y los cambios que pasan a través de canalizaciones de producción se entregan a los clientes.

La entrega continua es más que la administración de versiones.

La entrega continua trata sobre el proceso, las personas y las herramientas que necesita para asegurarse de que puede entregar el software a petición.

La implementación es solo un paso del proceso de entrega continua. Para implementar a petición o varias veces al día, deben cumplirse todos los requisitos previos.

Por ejemplo:

Estrategia de pruebas

La estrategia de pruebas debe aplicarse. Si necesita ejecutar muchas pruebas manuales para validar el software, la entrega a petición es un cuello de botella.

Procedimientos de codificación

Si el software no está escrito de forma segura y fácil de mantener, lo más probable es que no pueda mantener una cadencia de lanzamiento alta.

Cuando el software es complejo debido a una gran cantidad de deuda técnica, es difícil cambiar el código de forma rápida y confiable.

La escritura de software de alta calidad y las pruebas de alta calidad son una parte esencial de la entrega continua.

Architecture

La arquitectura de la aplicación siempre es significativa. Pero, al implementar la entrega continua, es posible que lo sea aún más.

Si su software es una aplicación monolítica con muchos acoplamientos estrechos entre los diversos componentes, es un desafío entregarlo de manera continua.

Cada parte que se cambia podría afectar a otras partes que no cambiaron. Las pruebas automatizadas pueden realizar un seguimiento de muchas de estas dependencias inesperadas, pero siguen siendo complicadas.

También existe el aspecto del tiempo al trabajar con distintos equipos. Cuando el equipo A se basa en el servicio del equipo B, el primero no puede entregar hasta que el segundo no haya terminado. Supone otra restricción para la entrega.

La entrega continua para productos de software de gran tamaño es compleja.

En el caso de las partes más pequeñas, es más fácil. Por lo tanto, dividir el software en partes más pequeñas e independientes es una buena solución en muchos casos.

Un enfoque para resolver estos problemas es implementar microservicios.

La integración continua es uno de los pilares clave de DevOps.

Una vez que tenga el código en un sistema de control de versiones, necesita una forma automatizada de integrarlo de forma continua.

Azure Pipelines se puede usar para crear un servicio de CI y CD multiplataforma completo.

Funciona con el proveedor de Git que prefiera y se puede implementar en la mayoría de los principales servicios en la nube, incluido Azure.

En este módulo se detalla el procedimiento de integración continua y los pilares para implementarla en el ciclo de vida de desarrollo, sus ventajas y propiedades.

Objetivos de aprendizaje

Después de completar este módulo, los alumnos y profesionales podrán hacer lo siguiente:

  • Describir patrones de implementación.
  • Explicar la arquitectura de los microservicios.
  • Comprender los patrones de implementación clásicos y modernos.
  • Planear y diseñar su arquitectura.

Requisitos previos

  • Entender qué es DevOps y sus conceptos.
  • Tener conocimientos sobre los principios del control de versiones es útil, pero no es necesario.
  • Es útil tener experiencia en una organización que ofrece software.