🏗️Infraestructura como Código

Gestión de Configuración vs. Aprovisionamiento

El aprovisionamiento (provisioning) es el proceso de crear recursos de infraestructura (servidores, redes, bases de datos). La gestión de configuración (configuration management) es el proceso de configurar y mantener el software y servicios en servidores existentes. Son procesos complementarios: primero aprovisionas la infraestructura (con Terraform), luego la configuras (con Ansible, Chef, Puppet).

#aprovisionamiento#gestión configuración#provisioning#configuration management#devops

En DevOps, es común confundir aprovisionamiento y gestión de configuración. Aunque están relacionados, son procesos diferentes que resuelven problemas distintos. En este artículo te explico las diferencias clave y cómo se complementan.

¿Qué es el Aprovisionamiento?

Piensa en el aprovisionamiento como "construir la casa": creas los recursos físicos (o virtuales) que necesitas.

¿Qué es la Gestión de Configuración?

Piensa en la gestión de configuración como "amueblar y decorar la casa": configuras lo que va dentro de los servidores que ya creaste.

Comparativa: Aprovisionamiento vs Gestión de Configuración

AspectoAprovisionamientoGestión de Configuración
PropósitoCrear recursos de infraestructuraConfigurar software en servidores
CuándoAl inicio, crear infraestructuraDespués, configurar servidores existentes
RecursosServidores, redes, bases de datosSoftware, servicios, aplicaciones
HerramientasTerraform, CloudFormationAnsible, Chef, Puppet
FrecuenciaOcasional (cuando creas/modificas infra)Frecuente (actualizaciones, cambios)
EnfoqueDeclarativo (estado deseado)Principalmente imperativo (pasos)
EjemploCrear un servidor EC2Instalar Nginx en el servidor

Herramientas de Aprovisionamiento

  • Terraform: Multi-cloud, el más popular
  • AWS CloudFormation: Nativo de AWS
  • Azure Resource Manager: Nativo de Azure
  • Google Cloud Deployment Manager: Nativo de GCP
  • Pulumi: Usa lenguajes de programación

Herramientas de Gestión de Configuración

  • Ansible: Simple, sin agentes, muy popular
  • Chef: Basado en Ruby, potente
  • Puppet: Maduro, ampliamente usado
  • SaltStack: Rápido, escalable
  • CFEngine: Uno de los más antiguos

Flujo de Trabajo Típico

  • 1. Aprovisionamiento: Terraform crea los servidores EC2
  • 2. Aprovisionamiento: Terraform configura redes y seguridad
  • 3. Gestión de Configuración: Ansible se conecta a los servidores
  • 4. Gestión de Configuración: Ansible instala Nginx, configura servicios
  • 5. Gestión de Configuración: Ansible despliega la aplicación
  • 6. Resultado: Infraestructura completa y configurada

¿Cuándo usar cada uno?

SituaciónHerramientaRazón
Crear nuevos servidoresAprovisionamiento (Terraform)Necesitas crear recursos
Instalar software en servidoresGestión Config (Ansible)Servidores ya existen
Configurar redes y seguridadAprovisionamiento (Terraform)Parte de la infraestructura
Actualizar aplicaciónGestión Config (Ansible)Solo cambia software
Escalar horizontalmenteAprovisionamiento (Terraform)Crear más servidores
Aplicar parches de seguridadGestión Config (Ansible)Configurar servidores existentes

¿Puedo usar solo una herramienta?

  • Solo Aprovisionamiento: Si usas servicios gestionados (Lambda, RDS) que no requieren configuración
  • Solo Gestión de Configuración: Si ya tienes infraestructura y solo necesitas configurarla
  • Ambas: La combinación ideal para infraestructura completa y configurada

Ventajas de Separar Aprovisionamiento y Configuración

  • Separación de responsabilidades clara
  • Herramientas especializadas para cada tarea
  • Mayor flexibilidad y reutilización
  • Más fácil de mantener y actualizar
  • Mejor para equipos grandes

Conclusión

Aprovisionamiento y gestión de configuración son procesos complementarios en DevOps. El aprovisionamiento crea la infraestructura, la gestión de configuración la configura. Usar herramientas especializadas para cada proceso (como Terraform + Ansible) te da mayor control, flexibilidad y mantenibilidad. Entender la diferencia te ayudará a elegir las herramientas correctas para cada tarea.

¿Quieres aprender más sobre esto?

Únete a talleres gratuitos o accede a contenido premium en la comunidad.