Terraform
Una herramienta popular para describir infraestructura cloud en archivos y crearla.
Terraform es una herramienta de infraestructura como código, creada por HashiCorp (hoy parte de IBM) y lanzada en 2014. Escribís archivos que terminan en .tf y dicen lo que querés, por ejemplo "un servidor de este tamaño, un bucket con este nombre, una base de datos en esta red", y Terraform habla con la nube para hacerlo realidad.
El ciclo de todos los días tiene dos comandos. terraform plan compara tus archivos con lo que existe y te muestra la lista de cambios que haría: crear esto, modificar aquello, borrar esto otro. terraform apply los ejecuta. Para saber qué existe, Terraform guarda un archivo de estado (state file), un registro de cada recurso que maneja; los equipos lo guardan en un lugar compartido para que dos personas no toquen lo mismo a la vez.
Su gran atractivo es que un solo lenguaje sirve para muchas plataformas. Unos plugins llamados providers lo conectan con AWS, Azure, Google Cloud y cientos de otros servicios, desde DNS hasta herramientas de monitoreo. En 2023 HashiCorp cambió la licencia de Terraform por una que ya no es open source, y parte de la comunidad hizo un fork llamado OpenTofu, que funciona casi igual.
Para quedarse
- Describís el resultado que querés; Terraform resuelve los pasos.
planmuestra los cambios antes de queapplylos haga.- El archivo de estado es la memoria de Terraform sobre lo que construyó; perderlo trae problemas serios.
- OpenTofu es un fork open source que funciona casi igual.