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.
Ciclo de vida
Terraform tiene el siguiente ciclo de vida:
- Inicializar: con el siguiente comando: «terraform init«
- Planificar: con el siguiente comando: «terraform plan«. Con esto eliminamos posibles errores
- Aplicar: con el siguiente comando: «terraform apply«
- Destruir: con el siguiente comando: «terraform destroy«
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.