¿Qué es Terraform?

Autor: | Última modificación: 18 de abril de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Terraform es una infraestructura open source o código abierto desarrollada por la empresa HashiCorp. Funciona como herramienta de software de código y se encarga de ofrecer un flujo de trabajo CLI consistente para gestionar ciertos servicios en la nube y codificar las Interfaces de Programación de Aplicaciones (API) de la cloud en archivos de configuración declarativos.

Esta herramienta se utiliza con el objetivo de establecer y aprovisionar una infraestructura completa, haciendo uso de un lenguaje declarativo sencillo de aprender, que permite almacenar una configuración de la infraestructura dentro de la nube en formato de código. Terraform permite también su uso en infraestructuras de la Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), OpenStack, Digital Ocean y otras plataformas en la nube. Por tanto, cada proveedor puede proporcionar un soporte mayor o menor a la nube en la que se va a basar para su funcionamiento.

Funcionamiento de Terraform

Terraform es una herramienta que contribuye a que la infraestructura pueda expresarse en formato de código a través de un lenguaje simple y de fácil entendimiento para los humanos, denominado HCL o Lenguaje de Configuración de HashiCorp. Su funcionamiento está enmarcado por la lectura de archivos de configuración, así como el ofrecimiento de un plan de ejecución enfocado en cambios, que puede revisarse por seguridad para después aplicarse y aprovisionarse.

Además de esto, los proveedores extensibles permiten que Terraform pueda gestionar una gran cantidad de recursos, dentro de los que se incluyen:

  • IaaS: la Infraestructura como Servicio hace referencia a un modelo de computación que ofrece recursos bajo demanda a sus clientes.
  • PaaS: la Platform As a Service o Plataforma como Servicio es un tipo de cloud computing donde un proveedor externo se encarga de ofrecer todo lo relacionado al hardware del sistema, así como una plataforma de software de aplicaciones.
  • SaaS: el Software As a Service o Software como Servicio se refiere al nivel más elevado de abstracción de la computación en la nube.

Características de Terraform

Dentro de las características principales de la plataforma Terraform, se incluyen elementos como la escritura de archivos de configuración, la infraestructura como código, los planes de ejecución, la automatización de las modificaciones…

Estas características pueden detallarse de la siguiente forma:

Escritura de archivos de configuración declarativos

Esta herramienta permite definir la Infraestructura como Código (IAC) con el objetivo de administrar el ciclo de vida completo, creando nuevos recursos, gestionando los que ya existen y eliminando los que no sean necesarios.

Infraestructura como código

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Esta infraestructura se describe usando una sintaxis simple de configuración de alto nivel, lo que permite que un modelo de su centro de datos pueda ser versionado y administrado como se haría con cualquier otro código. La infraestructura como código también presenta el beneficio de que puede compartirse y reutilizarse.

Este tipo de infraestructura tiene como ventajas la mejora de la velocidad al momento de implementar o conectar recursos y un aumento en la confiabilidad, así como un soporte para los procesos de experimentación, prueba y optimización.

Plan de ejecución

Terraform cuenta con la característica de generar un plan de ejecución que muestra las acciones que se realizarán una vez se ejecute el Terraform Plan. Esta estrategia permite que el usuario esté preparado para los cambios en la infraestructura que realice la plataforma.

Cambios automatizados

Otra de las características de Terraform es su automatización de los cambios, que consiste en una aplicación a la infraestructura de los conjuntos de modificaciones más complicadas, teniendo una mínima interacción humana, lo que evita errores.

Gráfico de recursos

La representación gráfica de recursos paraleliza la creación y los cambios realizados en cualquiera de los recursos que no sean dependientes. Esto se traduce en una construcción de infraestructura lo más eficiente posible, así como en una visión de los operadores acerca de las dependencias en la infraestructura.

¿Cuál es el siguiente paso?

En este artículo has podido conocer qué es la plataforma Terraform, cómo es su funcionamiento y cuáles son sus características de mayor relevancia; ahora, no dudes en dar el siguiente paso y continuar tu proceso de formación a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp. Con este bootcamp, en menos de 6 meses aprenderás todo lo necesario para convertirte en un experto y destacar dentro del sector IT. ¡Inscríbete ya y sigue aprendiendo!

[email protected]