Terraform: domina las IaaS

Que es Terraform?

Terraform es una herramienta para construir, cambiar y crear versiones de infraestructura de manera segura y eficiente. Terraform puede administrar proveedores de servicios existentes y populares, así como soluciones internas personalizadas.

Los archivos de configuración describen a Terraform los componentes necesarios para ejecutar una sola aplicación o todo su centro de datos. Terraform genera un plan de ejecución que describe lo que hará para alcanzar el estado deseado y luego lo ejecuta para construir la infraestructura descrita. A medida que cambia la configuración, Terraform puede determinar qué cambió y crear planes de ejecución incrementales que se pueden aplicar.

La infraestructura que Terraform puede administrar incluye componentes de bajo nivel como instancias de computación, almacenamiento y redes, así como componentes de alto nivel como entradas de DNS, características de SaaS, etc.

Fuente: terraform.iom
Ciclo de vida

Terraform tiene el siguiente ciclo de vida:

  • Inicializar: con el siguiente comando: «terraform init«
  • Planificarcon el siguiente comando: «terraform plan«. Con esto eliminamos posibles errores
  • Aplicar: con el siguiente comando: «terraform apply«
  • Destruir: con el siguiente comando: «terraform destroy«

 

Fuente propia
Proveedor vs provisionador

Proveedor: Donde contratamos la infraestructura.

Provisionador: Nos permite realizar acciones en la infraestructura contratada: ejecución de comandos, copia de ficheros

 

Características clave

Infraestructura como código: La infraestructura se describe mediante una sintaxis de configuración de alto nivel. Esto permite que un plano de su centro de datos sea versionado y tratado como lo haría con cualquier otro código. Además, la infraestructura se puede compartir y reutilizar.

Planes de ejecución: Terraform tiene un paso de «planificación» donde genera un plan de ejecución. El plan de ejecución muestra lo que hará Terraform cuando llame a Apply. Esto le permite evitar sorpresas cuando Terraform manipula la infraestructura.

Gráfico de recursos: Terraform crea un gráfico de todos sus recursos y paraleliza la creación y modificación de cualquier recurso no dependiente. Debido a esto, Terraform construye la infraestructura de la manera más eficiente posible y los operadores obtienen información sobre las dependencias en su infraestructura.

Automatización de cambios: Se pueden aplicar conjuntos de cambios complejos a su infraestructura con una mínima interacción humana. Con el plan de ejecución y el gráfico de recursos mencionados anteriormente, sabrá exactamente qué cambiará Terraform y en qué orden, evitando muchos posibles errores humanos.

 

ajimenez1965@gmail.com