{"id":2469,"date":"2026-10-17T08:00:00","date_gmt":"2026-10-17T12:00:00","guid":{"rendered":"https:\/\/boostelearning.com\/resources\/blog\/what-is-terraform-2\/"},"modified":"2026-10-17T08:00:00","modified_gmt":"2026-10-17T12:00:00","slug":"what-is-terraform","status":"publish","type":"post","link":"https:\/\/boostelearning.com\/es\/resources\/blog\/what-is-terraform\/","title":{"rendered":"\u00bfQu\u00e9 es Terraform? Explicaci\u00f3n de la infraestructura como c\u00f3digo"},"content":{"rendered":"<p><strong>Respuesta r\u00e1pida:<\/strong> Terraform es una herramienta de infraestructura como c\u00f3digo (IaC), creada originalmente por HashiCorp, que te permite definir la infraestructura en la nube y en las instalaciones locales mediante archivos de configuraci\u00f3n legibles y, despu\u00e9s, crearla, modificarla y versionarla de forma segura. Describes en un lenguaje declarativo llamado HCL los recursos que quieres, como servidores, redes y bases de datos; Terraform compara ese estado deseado con lo que existe realmente y realiza \u00fanicamente los cambios necesarios. Funciona en muchas plataformas mediante plugins llamados proveedores, lo que lo convierte en una de las herramientas m\u00e1s utilizadas en la ingenier\u00eda de DevOps y de la nube.<\/p>\n<h2>\u00bfQu\u00e9 es la infraestructura como c\u00f3digo y por qu\u00e9 es importante?<\/h2>\n<p>La infraestructura como c\u00f3digo consiste en gestionar servidores, redes y otros recursos mediante archivos de configuraci\u00f3n, en lugar de hacer clic manualmente en una consola web. Sus beneficios son importantes. Tu infraestructura se vuelve <strong>repetible<\/strong>, porque los mismos archivos producen el mismo entorno cada vez. Se vuelve <strong>revisable<\/strong>, porque los cambios pasan por el control de versiones y la revisi\u00f3n de c\u00f3digo, igual que el c\u00f3digo de aplicaciones. Y se vuelve <strong>recuperable<\/strong>, porque puedes reconstruir un entorno a partir de los archivos si algo falla. Terraform es una de las formas m\u00e1s populares de aplicar IaC, y este enfoque est\u00e1 en el centro de <a href=\"https:\/\/boostelearning.com\/resources\/blog\/what-does-a-devops-engineer-do\/\">lo que hace un ingeniero de DevOps<\/a> en su d\u00eda a d\u00eda.<\/p>\n<h2>\u00bfC\u00f3mo funciona realmente Terraform?<\/h2>\n<p>Terraform sigue un ciclo claro y repetible. Escribes la configuraci\u00f3n, previsualizas los cambios y luego los aplicas. El flujo de trabajo principal suele resumirse como <strong>write, plan, apply<\/strong>.<\/p>\n<ol>\n<li><strong>Write:<\/strong> declaras recursos en archivos <em>.tf<\/em> utilizando HCL, por ejemplo, una m\u00e1quina virtual, un bucket de almacenamiento y una red.<\/li>\n<li><strong>Init:<\/strong> al ejecutar <em>terraform init<\/em>, descargas los proveedores que necesita tu configuraci\u00f3n y preparas el directorio de trabajo.<\/li>\n<li><strong>Plan:<\/strong> al ejecutar <em>terraform plan<\/em>, se muestra exactamente qu\u00e9 va a crear, modificar o destruir Terraform, sin tocar todav\u00eda nada. Esta previsualizaci\u00f3n es una de las funciones de seguridad m\u00e1s valoradas de Terraform.<\/li>\n<li><strong>Apply:<\/strong> al ejecutar <em>terraform apply<\/em>, se ejecuta el plan y se aprovisionan los recursos reales; despu\u00e9s, el resultado se registra en el estado.<\/li>\n<li><strong>Destroy:<\/strong> al ejecutar <em>terraform destroy<\/em>, se elimina todo lo que gestiona la configuraci\u00f3n, lo que resulta \u00fatil para entornos temporales o de pruebas.<\/li>\n<\/ol>\n<h2>\u00bfQu\u00e9 son los proveedores?<\/h2>\n<p>Un <strong>proveedor<\/strong> es un plugin que ense\u00f1a a Terraform a comunicarse con la API de una plataforma concreta. Existen proveedores para las principales nubes, como Amazon Web Services, Microsoft Azure y Google Cloud, as\u00ed como para servicios como Kubernetes, GitHub, Cloudflare y numerosas bases de datos. Gracias a este modelo de plugins, la misma herramienta y el mismo flujo de trabajo pueden gestionar sistemas muy diferentes. Declaras qu\u00e9 proveedores necesitas, Terraform los descarga durante <em>init<\/em> y, a partir de ese momento, describes recursos utilizando los tipos de recursos de cada proveedor. Esta amplitud es una de las principales razones por las que Terraform se convirti\u00f3 en un est\u00e1ndar del sector y por las que aparece con tanta frecuencia en las herramientas de un <a href=\"https:\/\/boostelearning.com\/resources\/blog\/what-does-a-cloud-engineer-do\/\">ingeniero de la nube<\/a>.<\/p>\n<h2>\u00bfQu\u00e9 es el estado de Terraform?<\/h2>\n<p>El estado es la fuente de gran parte de la potencia de Terraform y, al mismo tiempo, el punto donde los principiantes encuentran m\u00e1s problemas. Cuando Terraform crea recursos, registra lo que ha creado en un <strong>archivo de estado<\/strong> que relaciona tu configuraci\u00f3n con objetos del mundo real. En la siguiente ejecuci\u00f3n, Terraform lee el estado para saber qu\u00e9 existe ya, de modo que puede calcular el conjunto m\u00ednimo de cambios en lugar de volver a crear todo.<\/p>\n<p>De esto se derivan dos reglas pr\u00e1cticas. Primero, el archivo de estado puede contener <strong>datos sensibles<\/strong>, como contrase\u00f1as de bases de datos, por lo que debe protegerse. Segundo, cuando un equipo comparte infraestructura, todos deben utilizar el <strong>mismo estado<\/strong>, por lo que se almacena en un backend remoto, por ejemplo, almacenamiento de objetos en la nube, con <strong>bloqueo<\/strong> para evitar que dos personas apliquen cambios contradictorios al mismo tiempo. Editar el estado manualmente es arriesgado y, por lo general, se evita. Respetar el estado es el h\u00e1bito m\u00e1s importante para trabajar de forma segura con Terraform.<\/p>\n<h2>\u00bfC\u00f3mo es una configuraci\u00f3n sencilla?<\/h2>\n<p>HCL est\u00e1 dise\u00f1ado para ser legible. Una configuraci\u00f3n declara recursos en bloques, cada uno con un tipo, un nombre y una serie de ajustes. Puedes referenciar un recurso desde otro para que Terraform determine el orden correcto, por ejemplo, creando una red antes que el servidor que la utiliza. Tambi\u00e9n puedes utilizar <strong>variables<\/strong> para evitar valores fijados en el c\u00f3digo, <strong>salidas<\/strong> para exponer resultados \u00fatiles, como una direcci\u00f3n IP, y <strong>m\u00f3dulos<\/strong> para empaquetar y reutilizar grupos de recursos. Como los archivos son texto plano, se guardan en el control de versiones junto con todo lo dem\u00e1s, lo que enlaza de forma natural con nuestra gu\u00eda sobre <a href=\"https:\/\/boostelearning.com\/es\/resources\/blog\/what-is-git\/\">qu\u00e9 es Git<\/a>.<\/p>\n<h2>Terraform frente a otras herramientas<\/h2>\n<p>Terraform se compara con frecuencia con otras herramientas de infraestructura, y las diferencias son importantes al elegir la adecuada.<\/p>\n<table>\n<thead>\n<tr>\n<th>Herramienta<\/th>\n<th>Finalidad principal<\/th>\n<th>Enfoque<\/th>\n<th>Uso habitual con Terraform<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Terraform<\/strong><\/td>\n<td>Aprovisionar infraestructura<\/td>\n<td>Declarativo, multinube<\/td>\n<td>La propia capa de aprovisionamiento<\/td>\n<\/tr>\n<tr>\n<td><strong>OpenTofu<\/strong><\/td>\n<td>Aprovisionar infraestructura<\/td>\n<td>Declarativo; fork de c\u00f3digo abierto de Terraform<\/td>\n<td>Una alternativa interchangeable para equipos que prefieren MPL 2.0<\/td>\n<\/tr>\n<tr>\n<td><strong>Ansible<\/strong><\/td>\n<td>Configurar m\u00e1quinas existentes<\/td>\n<td>Procedural, sin agentes<\/td>\n<td>Configurar servidores despu\u00e9s de que Terraform los crea<\/td>\n<\/tr>\n<tr>\n<td><strong>CloudFormation<\/strong><\/td>\n<td>Aprovisionar infraestructura<\/td>\n<td>Declarativo, exclusivo de AWS<\/td>\n<td>Una alternativa nativa de AWS<\/td>\n<\/tr>\n<tr>\n<td><strong>Pulumi<\/strong><\/td>\n<td>Aprovisionar infraestructura<\/td>\n<td>Declarativo mediante lenguajes de prop\u00f3sito general<\/td>\n<td>Una alternativa para equipos que prefieren Python, TypeScript, etc.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Un aspecto clave para 2026: en agosto de 2023, HashiCorp cambi\u00f3 la licencia de Terraform de la licencia de c\u00f3digo abierto MPL 2.0 a la Business Source License (BSL), que restringe el uso del software para crear productos que compitan directamente con \u00e9l. En respuesta, varias empresas crearon <strong>OpenTofu<\/strong>, un fork con licencia MPL 2.0 que ahora est\u00e1 gobernado por la Linux Foundation y fue aceptado en la Cloud Native Computing Foundation en 2025. OpenTofu lee el mismo HCL, utiliza los mismos proveedores y escribe un archivo de estado compatible, por lo que, para la mayor\u00eda de los usuarios, ambas herramientas son intercambiables en el trabajo diario. La elecci\u00f3n por parte de un equipo depende en gran medida de criterios de gobernanza y licencia. Considera que los n\u00fameros de versi\u00f3n cambian r\u00e1pidamente y comprueba la versi\u00f3n actual antes de depender de una funci\u00f3n concreta.<\/p>\n<h2>\u00bfCu\u00e1les son los casos de uso habituales de Terraform?<\/h2>\n<ul>\n<li><strong>Crear entornos en la nube<\/strong>, como desarrollo, staging y producci\u00f3n, que sean id\u00e9nticos y reproducibles.<\/li>\n<li><strong>Despliegues multinube o h\u00edbridos<\/strong>, utilizando un \u00fanico flujo de trabajo con m\u00e1s de un proveedor.<\/li>\n<li><strong>Entornos desechables<\/strong> para pruebas o demostraciones que se puedan crear y eliminar seg\u00fan sea necesario.<\/li>\n<li><strong>Gestionar servicios de soporte<\/strong>, como registros DNS, pol\u00edticas de acceso y cl\u00fasteres de Kubernetes.<\/li>\n<\/ul>\n<p>Como define entornos completos como c\u00f3digo, Terraform es una competencia esencial para cualquier persona que dise\u00f1e sistemas grandes, por lo que aparece en itinerarios para <a href=\"https:\/\/boostelearning.com\/resources\/blog\/how-to-become-a-cloud-architect\/\">convertirse en arquitecto de la nube<\/a> y en las pr\u00e1cticas de fiabilidad descritas en nuestra comparaci\u00f3n entre <a href=\"https:\/\/boostelearning.com\/es\/resources\/blog\/devops-vs-sre\/\">DevOps y SRE<\/a>.<\/p>\n<h2>\u00bfQu\u00e9 son los m\u00f3dulos y por qu\u00e9 los utilizan los equipos?<\/h2>\n<p>A medida que las configuraciones crecen, copiar los mismos bloques en distintos proyectos se vuelve inmanejable. Los <strong>m\u00f3dulos<\/strong> resuelven este problema al empaquetar un grupo de recursos en una unidad reutilizable con entradas y salidas definidas. Por ejemplo, un equipo podr\u00eda crear un m\u00f3dulo que establezca una red est\u00e1ndar con las subredes, las rutas y las reglas de seguridad adecuadas, y reutilizarlo en todos los entornos pasando simplemente variables diferentes. Los m\u00f3dulos favorecen la coherencia, reducen los errores por copiar y pegar y permiten que un equipo codifique sus pr\u00e1cticas recomendadas una sola vez. Los registros p\u00fablicos ofrecen miles de m\u00f3dulos comunitarios para patrones comunes, aunque los equipos de producci\u00f3n suelen escribir y versionar los suyos. Pensar en m\u00f3dulos es una se\u00f1al de madurez con Terraform y refleja la forma en que el buen software se divide en componentes reutilizables.<\/p>\n<h2>\u00bfCu\u00e1les son las principales ventajas yocese de Terraform?<\/h2>\n<p>Las fortalezas de Terraform explican su popularidad, pero tambi\u00e9n conviene ser honesto sobre sus fortalezas y weaknesses.<\/p>\n<ul>\n<li><strong>Ventaja: coherencia multinube.<\/strong> Un \u00fanico flujo de trabajo y lenguaje gestiona muchas plataformas, por lo que los equipos no tienen que aprender una herramienta nueva para cada proveedor.<\/li>\n<li><strong>Ventaja: previsualizaciones seguras.<\/strong> El paso de planificaci\u00f3n muestra cada cambio antes de que ocurra, lo que evita muchos errores costosos.<\/li>\n<li><strong>Ventaja: repetibilidad y auditabilidad.<\/strong> Como todo est\u00e1 en forma de c\u00f3digo y bajo control de versiones, los entornos son reproducibles y cada cambio se puede rastrear.<\/li>\n<li><strong>Desventaja: complejidad del estado.<\/strong> Gestionar correctamente el estado, los backends y el bloqueo requiere disciplina y constituye la fuente m\u00e1s com\u00fan de problemas reales.<\/li>\n<li><strong>Desventaja: curva de aprendizaje.<\/strong> La Mentalidad declarativa y los detalles espec\u00edficos de cada proveedor tardan en asimilarse, especialmente para quienes est\u00e1n accustomed a hacer clic en las consolas.<\/li>\n<li><strong>Desventaja: deriva.<\/strong> Si alguien modifica un recurso manualmente fuera de Terraform, el mundo real y el estado pueden divergir, y hay que tener cuidado para reconciliarlos.<\/li>\n<\/ul>\n<h2>\u00bfC\u00f3mo encaja Terraform en una canalizaci\u00f3n de CI\/CD?<\/h2>\n<p>En equipos maduros, Terraform rara vez se ejecuta desde un port\u00e1til para aplicar cambios en producci\u00f3n. En su lugar, la configuraci\u00f3n reside en un repositorio de Git y una canalizaci\u00f3n de integraci\u00f3n continua ejecuta <em>terraform plan<\/em> autom\u00e1ticamente en cada pull request, de modo que quienes revisan pueden ver exactamente qu\u00e9 va a cambiar. Tras la aprobaci\u00f3n, un paso automatizado ejecuta <em>terraform apply<\/em> en el entorno de destino. Esto aplica a la infraestructura la misma disciplina de revisi\u00f3n, pruebas y auditor\u00eda que los equipos ya aplican al c\u00f3digo de las aplicaciones. Tambi\u00e9n garantiza que el estado reside en un backend remoto compartido, en lugar de en la m\u00e1quina de cualquier persona, lo cual es imprescindible cuando participa m\u00e1s de una. Este enfoque que prioriza la automatizaci\u00f3n es una caracter\u00edstica definitoria de los equipos de plataformas modernos.<\/p>\n<h2>\u00bfC\u00f3mo debe empezar un principiante con Terraform?<\/h2>\n<p>Empieza con un proveedor que ya conozcas, idealmente una nube que hayas utilizado mediante su consola. Instala Terraform, o OpenTofu, crea un \u00fanico recurso peque\u00f1o, como un bucket de almacenamiento, y recorre <em>init<\/em>, <em>plan<\/em> y <em>apply<\/em> para familiarizarte con el flujo de trabajo. Presta especial atenci\u00f3n a la salida del plan antes de cada apply; leer cuidadosamente los planes es un h\u00e1bito profesional que conviene adquirir desde el principio. Guarda tu configuraci\u00f3n en Git desde el primer d\u00eda, mant\u00e9n los secretos fuera de tus archivos y pasa a un backend remoto para el estado en cuanto participe m\u00e1s de una persona. Evita la tentaci\u00f3n de copiar configuraciones grandes y complejas que no comprendas; los pasos peque\u00f1os que puedas explicar te ense\u00f1ar\u00e1n mucho m\u00e1s.<\/p>\n<h2>\u00bfVale la pena aprender Terraform?<\/h2>\n<p>Para cualquier persona que se dirija a DevOps, la nube o la ingenier\u00eda de plataformas, Terraform es una de las habilidades m\u00e1s valiosas disponibles. Est\u00e1 ampliamente adoptado, es transferible entre nubes y ocupa una posici\u00f3n central en la forma en que los equipos modernos construyen y modifican la infraestructura de manera segura. El modelo declarativo tarda poco en asimilarse y la gesti\u00f3n del estado exige respeto, pero el resultado es muy>[[Understood]]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Respuesta r\u00e1pida: Terraform es una herramienta de infraestructura como c\u00f3digo (IaC), creada originalmente por HashiCorp, que te permite definir la infraestructura en la nube y en &hellip; <a href=\"https:\/\/boostelearning.com\/es\/resources\/blog\/what-is-terraform\/\">Continued<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"bel_standfirst":"","bel_faq":"\u00bfTerraform es gratuito y de c\u00f3digo abierto?|La CLI principal de Terraform se puede descargar y utilizar gratis. Sin embargo, en agosto de 2023, HashiCorp cambi\u00f3 su licencia de la licencia de c\u00f3digo abierto MPL 2.0 a la Business Source License (BSL), que restringe su uso para crear productos comerciales competidores. En respuesta, la comunidad cre\u00f3 OpenTofu, un fork con licencia MPL 2.0 que ahora est\u00e1 gobernado por la Linux Foundation. Para la mayor\u00eda de los usuarios, el uso diario de Terraform sigue siendo gratuito.\n\u00bfCu\u00e1l es la diferencia entre Terraform y OpenTofu?|OpenTofu es un fork de c\u00f3digo abierto de Terraform creado tras el cambio de licencia de 2023. Lee la misma configuraci\u00f3n HCL, utiliza los mismos proveedores y escribe un archivo de estado compatible, por lo que la migraci\u00f3n suele ser sencilla. Las principales diferencias son la gobernanza (Linux Foundation frente a HashiCorp) y la licencia (MPL 2.0 frente a BSL), adem\u00e1s de algunas funciones exclusivas de OpenTofu, como el cifrado integrado del estado.\n\u00bfQu\u00e9 lenguaje utiliza Terraform?|Las configuraciones de Terraform se escriben en HashiCorp Configuration Language (HCL), un lenguaje declarativo dise\u00f1ado para que las personas puedan leerlo. Describes el estado final que quieres y Terraform determina los pasos necesarios para alcanzarlo. HCL no es un lenguaje de programaci\u00f3n de prop\u00f3sito general; se centra en declarar recursos y sus relaciones.\n\u00bfQu\u00e9 es el estado de Terraform y por qu\u00e9 es importante?|El estado es un archivo que Terraform utiliza para relacionar tu configuraci\u00f3n con los recursos reales que ha creado. Gracias a \u00e9l, Terraform sabe qu\u00e9 existe ya, de modo que puede planificar \u00fanicamente los cambios necesarios. Como el estado puede contener valores sensibles y debe mantenerse coherente en todo el equipo, normalmente se almacena de forma remota con bloqueo, en lugar de guardarse en el port\u00e1til de una sola persona.\n\u00bfTerraform es lo mismo que Ansible?|No. Terraform es principalmente una herramienta de aprovisionamiento: crea y gestiona infraestructura como servidores, redes y bases de datos. Ansible es principalmente una herramienta de gesti\u00f3n de configuraci\u00f3n: instala software y configura m\u00e1quinas existentes. Muchos equipos utilizan ambas en conjunto, con Terraform levantando la infraestructura y Ansible configurando lo que se ejecuta en ella.\n\u00bfNecesito conocer un proveedor de nube antes de aprender Terraform?|La familiaridad b\u00e1sica ayuda mucho, porque Terraform aprovisiona recursos en plataformas como AWS, Azure o Google Cloud. No necesitas ser experto, pero comprender conceptos b\u00e1sicos como m\u00e1quinas virtuales, redes y almacenamiento facilitar\u00e1 enormemente el aprendizaje de Terraform, ya que son los elementos que declarar\u00e1s en c\u00f3digo.","bel_outcomes":"","bel_audience":"","bel_outline":"","bel_exam":"","bel_livelabs":"","bel_duration":"","bel_exam_code":"","bel_level":"","bel_price":"","bel_rating":"","bel_reviews":"","bel_instructors":"","bel_image_credit":"","bel_result_num":"","bel_result_label":"","bel_customer":"","bel_industry":"","bel_credentials":"","bel_courses_taught":"","bel_meta_desc":"\u00bfQu\u00e9 es Terraform? Una herramienta de infraestructura como c\u00f3digo que aprovisiona recursos en la nube a partir de una configuraci\u00f3n declarativa. Conoce los proveedores.","footnotes":""},"categories":[44],"tags":[],"class_list":["post-2469","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/posts\/2469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/comments?post=2469"}],"version-history":[{"count":0,"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/posts\/2469\/revisions"}],"wp:attachment":[{"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/media?parent=2469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/categories?post=2469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/boostelearning.com\/es\/wp-json\/wp\/v2\/tags?post=2469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}