Inicio
Topics
What is Terraform?
Terraform, una herramienta de "infraestructura como código" de código abierto creada por HashiCorp, permite a los programadores crear, modificar y versionar infraestructuras de forma segura y eficaz.
Terraform es una herramienta de codificación declarativa que permite a los desarrolladores utilizar un lenguaje de configuración de alto nivel denominado HashiCorp Configuration Language (HCL). Este lenguaje describe el "estado final" deseado de la nube o de la infraestructura local para ejecutar una aplicación. Luego, genera un plan para alcanzar ese estado final y aplica el plan para aprovisionar la infraestructura.
Terraform utiliza una sintaxis sencilla, aprovisiona la infraestructura a través de múltiples centros de datos en la nube y locales, y vuelve a aprovisionar a la infraestructura de forma segura y eficiente en respuesta a cambios en la configuración. Por este motivo, actualmente es una de las herramientas de automatización de infraestructuras más populares. Si su organización planea implementar un entorno de nube híbrida o multinube, probablemente querrá o necesitará conocer Terraform.
Lea cómo el escritorio como servicio (DaaS) permite a las empresas lograr el mismo nivel de rendimiento y seguridad que la implementación de las aplicaciones en las instalaciones.
Para comprender mejor las ventajas de Terraform, primero es útil comprender los beneficios de la infraestructura como código (IaC). IaC permite a los desarrolladores codificar la infraestructura para que el aprovisionamiento se realice de forma automatizada, más rápida y repetible. Es un componente clave de las prácticas ágiles y de DevOps, como el control de versiones, la integración continua y la implementación continua.
La infraestructura como código puede ayudar con lo siguiente:
Hay algunas razones clave por las que los desarrolladores optan por utilizar Terraform sobre otras herramientas de infraestructura como código:
Los módulos de Terraform son configuraciones pequeñas y reutilizables de Terraform para múltiples recursos de infraestructura que se utilizan juntos. Los módulos de Terraform son útiles porque permiten automatizar recursos complejos con construcciones reutilizables y configurables. Escribir incluso un archivo Terraform muy simple da como resultado un módulo. Un módulo puede llamar a otros módulos, llamados módulos secundarios,lo que puede hacer que el ensamblaje de la configuración sea más rápido y conciso. Los módulos también pueden llamarse varias veces, ya sea dentro de la misma configuración o en configuraciones independientes.
Los proveedores de Terraform son complementos que implementan tipos de recursos. Los proveedores contienen todo el código necesario para autenticarse y conectarse a un servicio, normalmente de un proveedor de nube pública, en nombre del usuario. Se pueden encontrar proveedores para las plataformas y los servicios en la nube que se utilicen, añadirlos a la configuración y, a continuación, utilizar sus recursos para aprovisionar la infraestructura. Hay proveedores disponibles para casi todos los principales proveedores de servicios en la nube, ofertas SaaS y más, desarrollados o respaldados por la comunidad Terraform u organizaciones individuales. Consulte la documentación de Terraform (enlace externo a ibm.com) para obtener una lista detallada.
En ocasiones, existe confusión entre Terraform y Kubernetes y sobre lo que ambos hacen. La verdad es que no son productos alternativos y funcionan conjuntamente de forma eficaz.
Kubernetes es un sistema de orquestación de contenedores de código abierto que permite a los desarrolladores programar implementaciones en nodos en un clúster de computación y gestionar activamente las cargas de trabajo contenedorizadas para garantizar que su estado coincida con las intenciones de los usuarios.
Terraform es una herramienta de infraestructura como código de mayor alcance, que permite a los desarrolladores automatizar infraestructuras completas que abarcan múltiples nubes públicas y nubes privadas.
Terraform puede automatizar y gestionar las capacidades de nivel de Infraestructura como servicio (IaaS), Plataforma como servicio (PaaS) o incluso Software como servicio (SaaS) y crear todos estos recursos en todos esos proveedores en paralelo. Puede utilizar Terraform para automatizar el aprovisionamiento de Kubernetes, en particular de clústeres Kubernetes gestionados en plataformas en la nube, y para automatizar la implementación de aplicaciones en un clúster.
Tanto Terraform como Ansible son herramientas de infraestructura como código, pero hay un par de diferencias importantes entre las dos:
IBM Cloud Schematics proporciona automatización ofreciendo plantillas Terraform declarativas para la infraestructura de nube deseada.
La infraestructura como código (IaC) automatiza el aprovisionamiento de la infraestructura, lo que permite a su organización desarrollar, implementar y escalar aplicaciones en la nube con mayor velocidad, menor riesgo y menor coste.
Kubernetes es una plataforma de orquestación de contenedores de código abierto que automatiza la implementación, la gestión y el escalado de aplicaciones Descubra cómo Kubernetes permite un desarrollo nativo de la nube rentable.
Una introducción a IaaS, sus componentes, ventajas, precios y cómo se relaciona con PaaS, SaaS, BMaaS, contenedores y serverless.