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:
mainomaster--> produccióndevelop--> desarrollo- feature branches --> nuevas funcionalidades
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
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
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
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.
-
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.
-
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.
-
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.
-
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.
-
Despliegue
Comienza la parte de CD.
El artefacto se despliega automáticamente en distintos entornos:
Dev → QA/Staging → ProducciónDependiendo de la empresa, algunos pasos pueden requerir aprobación manual.
-
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.
-
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.
-
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






