IaC + Agentes IA: Tu CMDB por fin viva en 2025 (y no un ceme

IaC + Agentes IA: Tu CMDB por fin viva en 2025 (y no un ceme

IaC + Agentes IA: Tu CMDB por fin viva en 2025 (y no un cementerio de Excel)

Enero de 2021. Publicábamos en BAOSS cómo usar ansible_facts para volcar inventario de paquetes y hardware a JSON y versionarlo en Git. Ingenioso, artesanal y, seamos honestos, insuficiente para 2025. Hoy, un cliente medio nuestro gestiona 1.200+ workloads entre AWS, Azure, GCP, on-prem y edge. La CMDB tradicional —estática, manual, desconectada de la realidad— se ha convertido en el mayor freno para auditorías SOC2, respuesta a incidentes y FinOps.

El problema real 2025-2026 no es «recopilar datos». Es mantener una fuente de verdad viva, consultable y accionable mientras la infraestructura muta cada 11 minutos (media de despliegues en nuestros clientes enterprise). La solución ya no es un playbook cron. Es una pipeline de inteligencia de configuración donde IaC, GitOps y agentes autónomos (LangGraph, CrewAI, AutoGen) alimentan un grafo de conocimiento consultable por LLM (GPT-4o, Claude 4, modelos locales vLLM/Ollama) vía RAG y MCP.

Por qué tu CMDB huele a naftalina (datos 2025)

  • Drift invisible: 68 % de los incidentes graves en clientes BAOSS 2024-2025 tuvieron causa raíz en configuración no reflejada en CMDB (fuente: Post-Incident Reviews anonimizados, n=47).
  • Coste de auditoría: Preparar evidencias SOC2/ISO27001 consume 320 h/trimestre/equipo sin automatización inteligente.
  • FinOps ciego: 23 % de gasto cloud «zombie» (recursos huérfanos, overprovisioning silencioso) por falta de atribución owner/entorno en CMDB.
  • MTTR inflado: +41 min de media buscando «qué cambió» y «quién lo toca» sin grafo de dependencias vivo.

La CMDB 2021 (JSON en Git) resolvía «qué hay». La CMDB 2025 debe responder «qué cambió, por qué, quién lo autoriza, qué impacto tiene y cuánto cuesta» —en lenguaje natural, en Slack/Teams, en <5 s.

Arquitectura BAOSS 2025: IaC + Agentes = CMDB Viva

Desplegamos en producción (clientes banca, retail, sector público) un patrón repetible de tres capas:

1. Capa de recolección continua (IaC-native)

Olvida cron + ansible-playbook. Usamos OpenTofu/Terraform + Ansible Execution Environments (EE) disparados por GitOps (ArgoCD/Flux) o event-driven (EventBridge → Step Functions → AAP/Controller). Cada cambio de infra (PR merged, drift detectado, escala automática) lanza jobs idempotentes que extraen:

  • Hardware/virtual: CPU, RAM, discos, NICs, GPU, firmware (vía community.general.hardware_facts + redhat.rhel_mgmt).
  • Software SBOM: Paquetes (rpm/deb/apk), contenedores (Syft/Grype), dependencias Python/Node/Go (CycloneDX/SPDX).
  • Configuración viva: sshd_config, sysctl, systemd units, reglas firewall, cloud-init rendido.
  • Identidad y accesos: IAM roles, policies, SSH keys, certificados, service accounts (AWS IAM Access Analyzer, Azure PIM, GCP Recommender).

Salida normalizada a OpenTelemetry Attributes + CloudEvents → Kafka/Redpanda topic cmdb.raw.events. Latencia P95: 3,2 s desde merge a evento disponible.

2. Capa de inteligencia: Agentes IA autónomos (LangGraph + CrewAI)

Aquí es donde 2025 rompe con 2021. No guardamos JSON en Git. Orquestamos agentes que procesan el stream:

  • Agent Normalizer (LangGraph): Mapea esquemas heterogéneos (AWS EC2, Azure VM, VMware, bare-metal) a Canonical Configuration Model (CCM) basado en ITIL 4 + Cloud Asset Inventory. Valida integridad referencial (¿existe el owner? ¿la VPC? ¿el tag cost_center?).
  • Agent DriftHunter (CrewAI): Compara desired state (Terraform/OpenTofu state + Git) vs actual state (hechos recién llegados). Clasifica drift: authorized (PR aprobado), emergency (break-glass), malicious (fuera de ventana, sin ticket), config-rot (deriva gradual). Genera PR de remediación o alerta SOAR.
  • Agent DependencyMapper (AutoGen + Neo4j): Construye grafo de dependencias en tiempo real: workload → instancia → SG → NACL → VPC → TGW → DNS → certificado → owner → coste. Actualiza embeddings vectoriales (text-embedding-3-large) para RAG.
  • Agent FinOpsEnricher (MCP + Focus 1.0): Enriquece cada nodo con coste unitario, amortización, rightsizing recomendado, commitment coverage. Expone GET /cmdb/node/{id}/cost vía MCP server.

3. Capa de consumo: RAG + MCP + UI conversacional

La CMDB ya no se «consulta». Se pregunta:

  • Slack/Teams Bot (GPT-4o + RAG sobre Neo4j + Chroma): «¿Qué workloads usan el certificado wildcard.baoss.es que expira en 14 días y quién es su owner?» → Respuesta en 2,1 s con grafo navegable, coste asociado y botón «Crear ticket renovación».
  • MCP Server (Model Context Protocol): Expone cmdb.query, cmdb.drift, cmdb.impact para que Cline, Cursor, Claude Desktop o agentes internos razonen sobre infra sin salir del IDE.
  • Portal self-service (Backstage + plugin BAOSS): Desarrolladores ven sus recursos, dependencias, coste, drift y compliance sin pedir a Ops.

Caso real BAOSS (anonimizado): Banca retail, 2.400 workloads híbridos

Contexto: CMDB ServiceNow legacy (actualización manual mensual), 34 % de CIs inexactos, auditoría SOC2 tipo II en 90 días, equipo de 6 SREs saturados.

Despliegue 8 semanas (fases)

  1. Semana 1-2: Discovery automatizado con ansible.builtin.setup + community.general.packages + syft en 100 % nodos (EE estandarizado, 0 agentes extra).
  2. Semana 3-4: Pipeline GitOps (ArgoCD) + Kafka + Agentes LangGraph/CrewAI en EKS Fargate (coste infra: 0,18 $/nodo/mes).
  3. Semana 5-6: Migración histórica ServiceNow → Neo4j (scripts Cypher + validación humana 5 %). Entrenamiento embeddings específicos dominio (modelo bge-m3 fine-tuned).
  4. Semana 7-8: Bot Slack + MCP server + Backstage plugin. Simulacro auditoría SOC2: evidencias generadas en 4 min vs 320 h manuales.

Resultados a 6 meses (métricas reales)

  • Precisión CMDB: 99,2 % (vs 66 % inicial) medido por reconciliation job semanal aleatorio (n=500 CIs).
  • Drift malicioso detectado: 17 eventos (3 credenciales rotadas sin ticket, 14 cambios SG fuera de ventana). MTTR drift: 8 min (antes: 4,3 h).
  • Ahorro FinOps: 340 k€/año (recursos zombie + rightsizing automático aplicado vía PR).
  • Tiempo preparación auditoría: -98 % (320 h → 6 h/trimestre).
  • ROI: 3,4x en 6 meses (inversión 185 k€ entre tooling, horas BAOSS y cloud).
  • Adopción desarrolladores: 78 % consultan CMDB vía Slack/IDE semanalmente (antes: 0 %).

Caso real BAOSS (anonimizado): E-commerce multinube, Black Friday 2024

Reto: Garantizar compliance PCI-DSS 4.0 en entorno efímero (K8s + serverless) durante pico 12x tráfico habitual. CMDB estática inútil.

Solución ad-hoc 3 semanas: Desplegamos agente PCI-Scanner (AutoGen) que, cada 15 min, valida 217 controles PCI sobre el grafo vivo: cifrado en tránsito/reposo, segmentación red, least privilege IAM, rotación secretos, logging inmutable. Resultados expuestos vía MCP a dashboard Grafana + alertas PagerDuty.

Resultado: Cero hallazgos críticos en auditoría externa. 23 hallazgos auto-remediados por agente (PRs con terraform apply -auto-approve en ventana de cambio preaprobada). Equipo seguridad: «Primera vez que dormimos tranquilos en Black Friday».

Patrón de código 2025: De ansible_facts a evento CloudEvent

El playbook 2021 devolvía JSON a disco. El