DevOps Intermedio

DevOps

Cultura y conjunto de prácticas que une a los equipos de desarrollo (Dev) y operaciones (Ops) para entregar software de forma más rápida, confiable y continua.

Pronunciación

/ˈdev.ɒps/
"dev-ops"
Escuchar en: Forvo Cambridge

Qué es

DevOps es una combinación de los términos Development (Desarrollo) y Operations (Operaciones). No es solo una herramienta ni una metodología — es una cultura de colaboración entre quienes construyen el software y quienes lo mantienen corriendo.

El objetivo: entregar cambios de software de forma frecuente, confiable y automatizada, rompiendo los silos que históricamente separaban a desarrolladores y administradores de sistemas.

El problema que resuelve

En el modelo tradicional:

Equipo Dev: "El código está listo, que Ops lo despliegue"

Equipo Ops: "No podemos desplegar hasta revisar todo"

Resultado: Semanas de espera, bugs en producción, culpas cruzadas

Con DevOps, ambos equipos comparten responsabilidad y trabajan juntos desde el inicio.

Los 4 Principios Fundamentales (CALMS)

PrincipioDescripción
CultureColaboración y responsabilidad compartida
AutomationAutomatizar todo lo repetible
LeanEliminar desperdicios del proceso
MeasurementMedir todo para mejorar continuamente
SharingCompartir conocimiento entre equipos

Las métricas DORA

DORA (DevOps Research and Assessment) identificó 4 métricas que predicen el rendimiento de equipos de software:

MétricaQué mideElite performers
Deployment FrequencyCon qué frecuencia se despliegaMúltiples veces al día
Lead Time for ChangesTiempo desde commit hasta producciónMenos de 1 hora
Change Failure Rate% de despliegues que causan incidentes0-15%
Time to Restore ServiceTiempo para recuperarse de un falloMenos de 1 hora

Herramientas típicas del ecosistema DevOps

Código → [Git] → CI/CD Pipeline → Tests → Build → Deploy → Monitor
                   (GitHub Actions,            (Docker,    (Datadog,
                    GitLab CI,               Kubernetes)  Grafana)
                    Jenkins)

Control de versiones: Git, GitHub, GitLab
CI/CD: GitHub Actions, GitLab CI, Jenkins, CircleCI
Contenedores: Docker, Podman
Orquestación: Kubernetes, Amazon ECS
Infraestructura como código: Terraform, Ansible, Pulumi
Monitoreo: Datadog, Grafana, Prometheus, New Relic

DevOps en la práctica: un ciclo de entrega moderno

  1. Desarrollador hace commit → código va a Git
  2. Pipeline de CI se activa automáticamente
  3. Tests corren en paralelo (unitarios, integración)
  4. Build se empaqueta en una imagen Docker
  5. Deploy automático a ambiente de staging
  6. Tests de humo confirman que funciona
  7. Aprobación (manual o automática) para producción
  8. Deploy a producción con rollback automático si algo falla
  9. Monitoreo continuo y alertas

Todo esto puede pasar en menos de 30 minutos.

Por qué importa para empresas que contratan software

Si estás evaluando un proveedor de software, las prácticas DevOps son un indicador de madurez del equipo:

Equipo con buenas prácticas DevOps:

  • Puede entregar cambios pequeños y frecuentes (menos riesgo)
  • Detecta problemas antes de que lleguen a producción
  • Recupera el sistema rápidamente cuando algo falla
  • Tiene visibilidad completa de qué está pasando en producción

Equipo sin DevOps:

  • Despliegues grandes, poco frecuentes y riesgosos
  • Descubrimiento tardío de bugs (cuando el cliente ya los sufrió)
  • Recuperación de incidentes lenta y manual
  • Poco control sobre el estado real del sistema

Términos relacionados

  • [[CI/CD]] - La práctica central de DevOps: integración y entrega continua
  • [[Docker]] - Contenedores que hacen posibles los despliegues repetibles
  • [[Shift-Left Security]] - Llevar la seguridad al inicio del ciclo DevOps
  • [[Microservices]] - Arquitectura que DevOps permite desplegar independientemente

Recursos adicionales: