Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > DevOps

Conociendo Terraform

jonilson sousa
jonilson sousa
18/07/2022

Compartir

Mira este artículo:
  1. ¿Pero qué es Terraform?
  2. Algunas funcionalidades de Terraform
  3. Sus aplicaciones
  4. Ventajas de Terraform
  5. Conclusión

En este artículo vamos a conocer Terraform, así como sus aplicaciones y por qué está ganando cada vez más mercado y fans en el universo DevOps. Podemos crear entornos totalmente personalizables, con muchos recursos y con muy pocas líneas de código y aún reproducibles con un solo comando.

¿Pero qué es Terraform?

Terraform es una herramienta bastante simple, pero muy poderosa que nos permite administrar toda la infraestructura utilizando código en archivos simples, concisos y declarativos.

Terraform es de código abierto (Open Source) y es desarrollado por HashiCorp, que también tiene otras herramientas que ustedes ya deben conocer, la más famosa es Vagrant, con la cual podemos provisionar ambientes aislados de nuestra máquina física para que podamos utilizarlos como entorno de desarrollo y ser lo más parecido posible de un servidor de producción, pero eso es tema de otro artículo.

Algunas funcionalidades de Terraform

Esta herramienta nos permite crear y/o cambiar versiones de infraestructura de nuestros entornos de manera eficiente y segura. Terraform utiliza archivos de configuración, en los que podemos informar de todos los recursos y componentes que nuestra infraestructura necesita y todavía podemos indicar un orden para la utilización de los recursos, donde podemos definir que un servicio necesita que otro sea iniciado y creado primero.

Con él podemos crear una sola máquina en los servicios en la nube como instancias EC2 (Elastic Compute Cloud) en AWS (Amazon Web Services) al cual la herramienta tiene soporte, o también podemos crear varias máquinas y así crear un Data Center entero y, sin embargo, configurar todo con pocas líneas de código y muy pocos archivos.

Otra característica importante que la herramienta tiene es el plan de ejecución, siempre podemos verificar la secuencia de ejecución de una infraestructura, así que podemos ver los pasos que Terraform ejecutará para alcanzar el estado descrito en el (los) archivo(s) de configuración.

Estos planes también son adaptables, por lo que en el momento en que cambiamos el (los) archivo(s) de configuración Terraform ofrece un nuevo plan con los cambios necesarios para que podamos analizar las modificaciones que se realizarán en el entorno.

Hasta ahora, hemos visto que Terraform tiene muchas características interesantes y que pueden ayudarnos de una manera muy positiva, pero ¿dónde podemos realmente utilizarlas?

Sus aplicaciones

Lo primero que podemos pensar es que si Terraform nos permite crear entornos, sería interesante utilizarlo en servicios en la nube, como AWS, Google Cloud Platform, Azure, puede consultar la lista con todos los proveedores aquí.

¿Y qué tienen en común todos estos servicios? Bueno, ellos nos permiten crear máquinas (hosts) para ponernos nuestras aplicaciones en producción y ese es el uso más común de Terraform, pero, ¿eso es todo lo que podemos hacer con Terraform?

No, esta herramienta también funciona con los niveles más bajos de nuestra infraestructura y nos permite también la manipulación de recursos como almacenamiento, red, instancias(hosts) como he dicho, y los recursos de más alto nivel, como el caso de DNS y recursos de Softwares como servicio(SaaS), es el caso do Heroku y otros.

Ventajas de Terraform

Al trabajar con Terraform tenemos muchas ventajas, pensar que en un equipo grande, a menudo necesitamos un ambiente para pruebas o para homologación o para evaluar la calidad de nuestras aplicaciones.

Por lo tanto, sería un gran desperdicio utilizar servicios en la nube, como instancias (hosts, máquinas), que tienen un costo considerable, y dejarlas la mayor parte del tiempo ociosas, sin utilización, ya que esas etapas (pruebas, homologación, evaluación) no son tan constantes, Terraform puede ayudarnos con eso.

Podemos crear un ambiente para pruebas en pocos minutos, ya configurado y listo para usar, y justo después de terminar todas las pruebas y verificaciones, podemos simplemente eliminar ese ambiente, y cuando lo necesitemos de nuevo, simplemente ejecute un comando y tendremos el ambiente listo de nuevo, eso es lo que llamamos un entorno desechable.

Conclusión

Hemos visto que Terraform es una herramienta muy poderosa para el área de DevOps, tiene una amplitud de uso muy grande y nos proporciona ambientes versátiles, personalizables y sobre todo compartibles y reutilizables.

Así que, es muy importante conocer una herramienta tan rica como esta, incluso si eres desarrollador y tu enfoque no esté en esa área. La herramienta también tiene una pequeña curva de aprendizaje que facilita la rápida utilización de la misma en las empresas, además de una documentación bastante completa.

Jonilson Sousa

Desarrollador de software en Grupo Alura. Trabajando con las más diversas tecnologías, como Java, Python, JavaScript, PHP y usando frameworks como SpringBoot, Flask. Tambien me gusta ver otras tecnologías o frameworks geniales por diversión

Este articulo fue adecuado para Alura Latam por: Priscila Storck

Artículo Anterior
¿Qué es Cloud y sus principales servicios?
Siguiente Artículo
Creando volúmenes con Docker

Ver otros artículos sobre DevOps

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Powered by

Caelum

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast