DevOps

Clase 16 de 35Curso de Introducción a la Nube con Azure

Contenido del curso

Resumen

La forma en que los equipos de desarrollo y operaciones colaboran ha cambiado por completo. Antes, un desarrollador podía entregar su código y desentenderse si algo fallaba en producción, dejando la responsabilidad a quienes manejaban la infraestructura. Esa dinámica generaba fricciones y errores constantes. De esa necesidad de trabajar en conjunto nace DevOps, y Azure ofrece un ecosistema completo de servicios para implementar esta filosofía.

¿Qué es DevOps y por qué no es un rol sino una cultura?

DevOps no es una persona ni un cargo específico, sino una filosofía y cultura de trabajo [0:25]. Se trata de conectar las tareas de desarrollo con las de operación para que el software funcione correctamente en cualquier ambiente, no solo en el equipo local del desarrollador. Cuando un desarrollador crea una aplicación, debe asegurarse de que opere bien tanto en su máquina como en producción. Esa responsabilidad compartida entre quienes escriben el código y quienes administran la infraestructura es el corazón de DevOps.

¿Qué herramientas ofrece Azure DevOps Services?

Azure agrupa varios servicios diseñados para cubrir cada etapa del ciclo de vida del software. Cada herramienta resuelve un problema específico dentro del flujo de trabajo colaborativo.

¿Cómo funcionan Azure Repos y en qué se diferencian de GitHub?

Azure Repos son repositorios de código fuente centralizados para publicar y colaborar dentro de una organización [1:07]. A diferencia de GitHub, que es una plataforma de uso público con opciones de repositorios privados, Azure Repos está albergado directamente en la nube de Azure y pensado como un ambiente exclusivo para la organización. Si ya conoces GitHub, la mecánica de los repositorios te resultará familiar.

¿Para qué sirven Azure Boards y Azure Pipelines?

  • Azure Boards permite gestionar proyectos y tareas bajo un modelo Kanban [1:40]. Aquí puedes manejar informes, incidencias, epics, user stories y toda la planeación en paralelo con las demás herramientas de Azure.
  • Azure Pipelines automatiza los procesos de integración continua (Continuous Integration) y despliegue continuo (Continuous Deployment) [1:57]. Básicamente, configuras eventos que disparan la integración del código al proyecto y su despliegue de forma automática.

¿Qué papel juegan Azure Artifacts y Azure Test Plans?

  • Azure Artifacts son repositorios para alojar artefactos que se incluyen en el flujo de pruebas o implementación [2:25]. Funcionan como complemento de los pipelines para asegurar la calidad del código antes de que llegue a producción.
  • Azure Test Plans ofrece herramientas de pruebas automatizadas para garantizar la calidad del software [2:47]. Puedes definir escenarios de prueba y, si el código pasa todos los casos, el flujo continúa sin intervención manual.

¿Cómo se integran GitHub y GitHub Actions con Azure?

Microsoft adquirió GitHub hace algunos años, lo que permite una conectividad directa con Azure [3:07]. Es importante aclarar que Git y GitHub no son lo mismo: Git es una herramienta de control de versiones que se usa en local para evitar el clásico "proyecto-final-final-dos", mientras que GitHub es la plataforma que aloja repositorios de código abierto donde puedes clonar, modificar y aportar a proyectos públicos [3:20].

GitHub Actions permite automatizar flujos de trabajo basados en triggers o disparadores [3:50]. Cuando se cumplen ciertos eventos, como una prueba exitosa o un commit específico, las acciones se ejecutan de forma automatizada. Además, GitHub Actions genera reportes sobre errores y su ubicación, brindando información precisa para que los desarrolladores corrijan problemas rápidamente.

Azure DevTest Labs complementa este ecosistema al automatizar la administración de máquinas virtuales y contenedores para pruebas [4:18]. Su gran ventaja es la optimización de recursos: puedes configurar que una máquina virtual se cree, ejecute las pruebas y se elimine automáticamente al terminar, evitando costos innecesarios por recursos encendidos sin uso.

La elección entre estas herramientas depende del objetivo:

  • Colaborar en código: Azure Repos o GitHub.
  • Automatizar CI/CD: Azure Pipelines o GitHub Actions.
  • Gestionar proyectos: Azure Boards.

Cada servicio cubre escenarios distintos y se complementan entre sí. Si ya estás practicando con los laboratorios de Azure, comparte en los comentarios cómo ha sido tu experiencia con estas herramientas.