Contenido del curso

Módulos en Terraform

Qué es infraestructura como código con Terraform

Resumen

La infraestructura como código resuelve un problema concreto: desplegar, probar y eliminar sistemas en la nube sin perder horas en configuraciones manuales. Si trabajas con Azure, AWS u otro proveedor y necesitas que tus despliegues sean reutilizables, aquí entiendes por qué Terraform se volvió el estándar.

Por qué la administración de nube se volvió tan compleja

Hoy existen miles de proveedores de nube y miles de servicios dentro de cada uno. Casi cualquier arquitectura moderna, desde una app móvil con backend hasta un clásico cliente servidor, termina apoyándose en algún proveedor de nube.

Esa abundancia tiene un costo. La labor del administrador de redes, sistemas o servidores se complica porque cada proveedor trae sus propias herramientas, sus propias reglas y sus propias formas de desplegar.

Para aliviar esa fricción, los proveedores crean utilidades que faciliten el despliegue. Y aquí viene lo interesante: aunque existen alrededor de 2.500 opciones, ninguna resuelve el problema completo por sí sola.

Qué opciones existen antes de llegar a Terraform

Antes de saltar a una herramienta especializada, conviene entender qué alternativas tienes y dónde se quedan cortas.

  • Bash: te permite escribir scripts para automatizar tareas básicas, pero no siempre es compatible con todos los proveedores de nube.
  • CLI propia del proveedor: por ejemplo, Azure creó su propia línea de comandos para que despliegues infraestructura de forma cómoda dentro de su ecosistema.
  • Herramientas multinube: aquí entra Terraform, pensada para funcionar con prácticamente cualquier proveedor.

El problema con las dos primeras opciones es la compatibilidad y la reusabilidad. Un script que sirve para Azure no necesariamente sirve para otro proveedor, y mantener varios scripts paralelos se vuelve insostenible.

¿Qué es infraestructura como código? Es la práctica de definir tu infraestructura (servidores, redes, bases de datos) en archivos de texto reutilizables. Así puedes desplegar, probar y destruir sistemas completos en minutos, sin hacer clic en consolas.

Cómo resuelve Terraform el despliegue en la nube

Terraform se ha vuelto la herramienta más famosa de IaC porque funciona con casi cualquier proveedor de nube. Tú escribes un script, lo ejecutas, y obtienes la infraestructura exacta que definiste.

La gran ventaja es la capacidad de crear y destruir sistemas a la medida en cuestión de minutos. Despliegas, validas que funcione, y si ya no lo necesitas lo eliminas sin dejar recursos huérfanos cobrando en tu factura.

¿Por qué usar Terraform en vez de la CLI de Azure? Porque la CLI de Azure solo te sirve para Azure. Terraform te da un mismo lenguaje y un mismo flujo para múltiples proveedores, y tus scripts son reutilizables.

Qué ganas al adoptar IaC con Terraform

Cuando trabajas con scripts de Terraform consigues tres cosas que con un proceso manual serían lentas o imposibles:

  1. Reutilizar el mismo script en distintos entornos o proyectos.
  2. Versionar tu infraestructura igual que versionas tu código de aplicación.
  3. Destruir todo el sistema de forma controlada cuando termines de probarlo.

En el curso vas a usar Azure como proveedor de nube y Terraform como herramienta para definir y desplegar la infraestructura. Esa combinación te da la comodidad de una nube robusta con la flexibilidad de un lenguaje declarativo que puedes mover a otros proveedores cuando lo necesites.

¿Qué tipo de infraestructura te gustaría desplegar primero con Terraform? Cuéntalo en los comentarios.