Ir al contenido principal
BlogHerramientas para desarrolladoresCuándo considerar Terraform

Cuándo conviene usar Terraform

Cuándo conviene usar Terraform

Dado que trabajo como director de Ingeniería y estoy en contacto constante con nuestro proveedor de Terraform, muchos me preguntan cómo usan esta herramienta los desarrolladores (o nuestros clientes) para gestionar una infraestructura en la nube. 

Con algunas cargas, Terraform funciona muy bien, pero hay casos en los que habría que rediseñarlas por completo para incorporar este recurso. Sería como volver a inventar la rueda. Y, aunque no vayas a tomar una decisión ahora, es importante que tengas nociones básicas sobre Terraform y estés al tanto de las novedades para saber si, en el futuro, puede ser una opción barajable.

Terraform es una solución de IaC que se basa en un modelo declarativo: el archivo de configuración contiene la configuración final en lugar de los pasos necesarios para llegar a ella (para saber qué diferencias hay entre las soluciones declarativas y las imperativas, consulta esta entrada del blog). Si bien Terraform permite desviarse de la plantilla original, es mejor usarla cuando el sistema tiene cierto nivel de uniformidad, algo habitual en las herramientas de este tipo. 

Mascotas vs. ganado

Terraform no está pensada para entornos en los que los sistemas individuales se reconfiguran con frecuencia (aunque, si la configuración la hace Terraform, no habría problema) o en los que los servidores son especiales o muy distintos entre sí. Eso se debe a que trata a los servidores como ganado y no como mascotas (no como algo especial).

Por otra parte, las soluciones declarativas son idempotentes, es decir, da igual cuántas veces introduzcas un comando; el resultado siempre es el mismo. Si, por ejemplo, una reimplementación falla en algún paso de la configuración, puedes volver a introducir el mismo comando en lugar de tener que adaptarlo o terminar la configuración manualmente. Las soluciones idempotentes simplifican el proceso de resolución de problemas y, por consiguiente, hacen que los miembros del equipo con menos experiencia puedan trabajar con más independencia.

La naturaleza declarativa no es la única ventaja de Terraform. Otro punto a favor es que utiliza el lenguaje de configuración de HashiCorp (HCL), que es más simple y fácil de aprender que los lenguajes que suelen emplear las herramientas de IaC. Además, permite ejecutar muchas tareas administrativas básicas con pocos comandos y, al ser de código abierto, es compatible con muchos proveedores de servicios en la nube, lo que se traduce en una menor dependencia. Otra de sus ventajas es que, debido a su creciente popularidad, ahora es mucho más fácil encontrar a desarrolladores que sepan trabajar con este recurso.

Terraform no depende de ninguna plataforma y viene con una amplia gama de complementos que facilitan la gestión de entornos multinube. Asimismo, incluye un registro de módulos con componentes reutilizables que sirven para ahorrar tiempo a la hora de crear configuraciones personalizadas.

Linode y Terraform

Hemos hecho un gran esfuerzo para integrar Terraform y darte herramientas para que puedas implementarlo fácilmente. Muestra de ello es que el proveedor de Terraform se conecta directamente con la API de Linode y, por tanto, permite integrar a la perfección todos nuestros productos.

A continuación, explicamos algunos de los beneficios de Terraform, una opción que te conviene si necesitas:

  • Una infraestructura reproducible: para alcanzar la automatización perfecta, se necesita un entorno uniforme y reproducible. Si tienes varios sistemas con configuraciones parecidas, Terraform es una buena opción. Si, por el contrario, tienes sistemas que difieren entre sí o requieren mucha personalización o cambios de configuración continuos, lo más probable es que Terraform no sea para ti.
  • Servicios externos: si quieres integrar tu entorno con herramientas y servicios externos, Terraform y su completa colección de complementos pueden serte de gran ayuda.
  • Un entorno multinube: si tu organización trabaja con varios proveedores de servicios en la nube, Terraform te ayudará a integrarlos fácilmente.
  • Flexibilidad para contratar personal: Terraform es fácil de usar, por lo que no hay que ser experto para utilizarlo. Si quieres tener un equipo flexible, fácil de formar y que no necesite mucha ayuda de especialistas, Terraform es una buena opción.

Algo que también tienes que tener en cuenta es que las decisiones que tomes hoy darán forma a la red que tendrás mañana, así que piénsatelo bien. Si, por ejemplo, ahora utilizas un entorno multinube, quizás quieras tener la opción de ahorrar dinero y maximizar la flexibilidad cuando tu empresa crezca.

Si aún no has trabajado con Terraform en tus propios proyectos, te aconsejo familiarizarte con esta herramienta para que tanto tú como tus cargas de trabajo vayáis un paso por delante. En conclusión, elegir una plataforma como Terraform, que es compatible con muchos proveedores, te permite adaptarte con más facilidad y preparar tu infraestructura en la nube para el futuro.

Comentarios

Dejar una respuesta

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *.