Saltar a contenido

Azure DevOps

Azure DevOps es una plataforma de Microsoft diseñada para gestionar todo el ciclo de vida del desarrollo de software: desde la planificación de tareas hasta el despliegue en producción y el mantenimiento. Es una herramienta muy usada en empresas porque centraliza todo lo necesario para desarrollar, colaborar, automatizar y entregar software de forma continua (CI/CD)

Azure DevOps es un conjunto de servicios integrados que permiten trabajar en proyectos de software de forma colaborativa y automatizada.

En lugar de usar muchas herramientas separadas (Git + Jira + Jenkins + etc), Azure DevOps reúne todo en un solo ecosistema.


Sus 5 componentes principales

Es donde guardas tu código.

  • Usa Git (lo más común hoy en día)
  • Permite ramas (branches)
  • Pull Requests (revisiones de código)
  • Control de versiones completo

IMPORTANTE:

Aquí se maneja todo el flujo de trabajo del codigo:

  • main o master --> producción
  • develop --> desarrollo
  • feature branches --> nuevas funcionalidades

repos

Es como Jira dentro de Azure DevOps.

Sirve para:

  • Crear tareas (work items)
  • User stories
  • Bugs
  • Sprints (Scrum)
  • Kanban boards

IMPORTANTE:

Esto conecta el trabajo con el código:

  • Una tarea puede estar vinculada a un commit
  • Un pull request puede cerrar un bug automáticamente

boards

Este es uno de los puntos más importante

Permite automatizar:

· CI (Continuous Integration)

  • Compilar el código automáticamente
  • Ejecutar tests
  • Validar cambios antes de aceptar código

· CD (Continuous Delivery/Deployment)

  • Desplegar a servidores automáticamente
  • Azure, AWS, Docker, Kubernetes, etc.

Saber más. Enlace a Pipelines

pipelines

Sirve para:

  • Test manuales (QA testers)
  • Casos de prueba
  • Validación de funcionalidades
  • Integración con pipelines

IMPORTANTE:

En empresas esto evita que errores lleguen a producción

test plans

Sirve para almacenar y compartir librerías:

  • NuGet (.NET)
  • npm (JavaScript)
  • Python packages
  • Maven (Java)

IMPORTANTE:

Evita duplicar código entre proyectos

artifacts



azure devops



CI / CD

CI= Continuous Integration
CD= Continuous Delivery/Deployment

  • Continuous Integration (CI): la práctica de integrar cambios de código de forma frecuente. Las pruebas automáticas son el corazón de esta fase para evitar el "infierno de la integración".
  • Continuous Delivery (CD): cómo asegurar que el código esté siempre en un estado "listo para producción", automatizando todo el camino hasta que alguien decide pulsar el botón de despliegue.
  • Continuous Deployment (CD): el nivel ninja. Cuando el código pasa todas las pruebas y se despliegua automáticamente a los usuarios finales sin intervención humana.

cicd

  1. Código

    El proceso comienza cuando un desarrollador escribe código y realiza un commit.

    Aquí todavía no ocurre CI/CD; simplemente se crea un cambio en el proyecto.

  2. Repositorio

    El código se sube a un repositorio Git, como por ejemplo:

    • GitHub
    • GitLab
    • Azure DevOps

    El repositorio actúa como fuente central del proyecto y normalmente dispara automáticamente el pipeline.

    Aunque está conectado con CI, conceptualmente el repositorio no es “la CI”; es el punto de entrada del flujo.

  3. Pipeline CI (Integración Continua)

    Aquí comienza realmente la CI.

    Cada vez que llega nuevo código, se ejecutan procesos automáticos como:

    • compilación del proyecto
    • pruebas automáticas
    • análisis de calidad
    • verificaciones de seguridad

    El objetivo es validar rápidamente que el cambio no rompe el sistema.

  4. Artefacto

    Si todo funciona correctamente, se genera un artefacto listo para desplegarse.

    Puede ser:

    • una imagen Docker
    • un paquete
    • un binario
    • un archivo compilado

    La idea es construir una sola vez y reutilizar el mismo artefacto en todos los entornos.

  5. Despliegue

    Comienza la parte de CD.

    El artefacto se despliega automáticamente en distintos entornos:

    Dev → QA/Staging → Producción

    Dependiendo de la empresa, algunos pasos pueden requerir aprobación manual.

  6. Pruebas

    Tras el despliegue se realizan validaciones adicionales:

    • pruebas de aceptación
    • verificaciones funcionales
    • comprobaciones automáticas

    Esto ayuda a asegurar que la aplicación funciona correctamente antes de llegar a usuarios reales.

  7. Producción

    La aplicación queda disponible para los usuarios finales.

    En este punto el software ya ha pasado por validaciones automáticas y despliegues controlados.

  8. Retroalimentación continua

    La línea inferior representa el feedback continuo del sistema.

    Después del despliegue se monitoriza:

    • rendimiento
    • errores
    • logs
    • métricas
    • comportamiento de usuarios

    Esa información vuelve al equipo de desarrollo para mejorar futuras versiones.


Agents (Agentes de ejecución)

Son máquinas que ejecutan tus pipelines

Tipos:

  • Microsoft-hosted (Azure te da la máquina)
  • Self-hosted (tu empresa pone servidores)

Sin agentes, no hay ejecución de pipelines.


Branch Policies

Permiten proteger ramas como main:

  • Requiere pull request
  • Requiere revisores
  • Requiere pasar test
  • Bloquea commits directos

Esto evita que alguien rompa producción.

Environments(entornos)

Normalmente:

  • Dev (desarrollo)
  • QA (testing)
  • Staging (preproducción)
  • Production (producción)

Azure Pipelines puede desplegar cada uno automáticamente.

Seguridad y permisos

Azure DevOps permite controlar.

  • Quién puede ver código
  • Quién puede aprobar PRs
  • Quién puede desplegar a producción
  • Acceso por roles

CDN (Content Delivery Network)

Es una red de servidores distribuidos por distintas ubicaciones del mundo que sirve contntenido web desde el servidor más cercano al usuario.

Su obejtivo principal es:

  • Acelerar la carga de páginas
  • Reducir la latencia
  • Disminuir carga del servidor principal
  • Mejorar la disponibilidad y seguridad

Beneficios:

  • Velocidad (mejor latencia y tiempos de carga)
  • Escalabilidad (el tráfico se distribuye globalmente)
  • Menos carga al backend (el server principal trabaja menos)
  • Alta disponibilidad (si un nodo falla, otro puede responder)
  • Seguridad (muchos incluyen: protección DDoS, WAF, rate limiting, bot protection...)

Empresas CDN conocidas:

  • Cloudflare
  • Akamai Technologies
  • Fastly
  • AWS Cloud Front
  • Google Cloud CDN