Artigos de Tecnologia e Negócios > Programação

Conhecendo o Terraform

Jonilson Sousa
Jonilson Sousa

Nesse artigo vamos conhecer o Terraform, bem como suas aplicações e porque ele vem ganhando cada vez mais mercado, fãs no universo de DevOps. Podemos criar ambientes totalmente personalizáveis, com muitos recursos e com pouquíssimas linhas de código e ainda replicáveis com apenas um comando.

Afinal o que é Terraform?

O Terraform é uma ferramenta bastante simples, porém muito poderosa que nos possibilita gerenciar toda a infraestrutura utilizando código em arquivos simples, concisos e declarativos.

O Terraform é de código aberto (Open Source) e é desenvolvido pela HashiCorp, que também possui outras ferramentas, que vocês já devem conhecer, a mais famosa é o Vagrant, com a qual podemos provisionar ambientes isolados da nossa máquina física para que possamos utilizá-los como ambiente de desenvolvimento e ser o mais semelhante possível de um servidor de produção, porém isso é assunto para um outro artigo.

Algumas funcionalidades do Terraform

Assim, essa ferramenta nos permite criar, e ou alterar versões de infraestrutura de nossos ambientes, e de maneira eficiente e segura. O Terraform utiliza arquivos de configurações, em que podemos informar todos os recursos e componentes que nossa infraestrutura precisa, e ainda podemos indicar uma ordem para a utilização dos recursos, onde podemos definir que um serviço precisa que outro seja iniciado e ou criado primeiro.

Com ele podemos criar uma só máquina nos serviços em nuvem como instâncias EC2 (Elastic Compute Cloud) na AWS (Amazon Web Services) ao qual a ferramenta tem suporte, ou também podemos criar várias máquinas e assim criar um Data Center inteiro, e ainda configurar tudo com poucas linhas de código e pouquíssimos arquivos.

Outra importante funcionalidade que a ferramenta possui é o plano de execução, sempre podemos verificar o sequência de execução de um infraestrutura, assim vemos os passos que o Terraform irá executar para atingir o estado descrito no(s) arquivo(s) de configuração.

Esses planos também são adaptáveis, assim no momento em que mudamos o(s) arquivo(s) de configuração o Terraform disponibiliza um novo plano com as mudanças necessárias para que possamos analisar as mudanças que serão realizadas no ambiente.

Até aqui, vimos que o Terraform têm muitos recursos interessantes e que podem nos auxiliar de uma forma muito positiva, mas onde realmente podemos utilizar?

Suas aplicações

Primeiro o que podemos pensar é que se é o Terraform nos permite criar ambientes, seria interessante utilizá-lo em serviços em nuvem, como AWS, Google Cloud Platform, Azure, você pode verificar a lista com todos os provedores aqui.

E o que todos esses serviços têm em comum? Bem, eles nos permitem criar máquinas (hosts) para colocarmos nossas aplicações em produção, e essa é a utilização mais comum do Terraform, porém, é só isso que podemos fazer com o Terraform?

Não, essa ferramenta também trabalha com os níveis mais baixos da nossa infraestrutura, ela também nos permite manipulação de recursos como armazenamento, rede, instâncias (hosts) como já falei anteriormente, e os recursos de mais alto nível como é o caso de DNS, recursos de Software como serviço (SaaS, é o caso do Heroku e outros).

Vantagens do Terraform

Temos muitas vantagens trabalhando com o Terraform, pense que numa equipe grande, geralmente precisamos de um ambiente para testes ou para homologação, ou para avaliar a qualidade das nossas aplicações.

Assim, seria muito desperdício utilizar serviços em nuvem, como instâncias (hosts, máquinas) que tem um custo considerável e deixarmos as mesmas a maior parte do tempo ociosas, sem utilização, já que essas etapas (testes, homologação, avaliação) não são tão constantes, e o Terraform pode nos ajudar com isso.

Podemos criar um ambiente para testes em questão de minutos, já configurado e pronto para uso, e logo após terminarmos todos os testes e verificações, podemos simplesmente excluir esse ambiente, e quando precisarmos novamente é só executar um comando e já vamos ter novamente o ambiente pronto, isso é o que chamamos de ambiente descartável.

Conclusão

Vimos que o Terraform é uma ferramenta muito poderosa para área de DevOps, tem uma amplitude de uso muito grande e nos proporciona ambiente versáteis, personalizáveis e acima de tudo compartilháveis e reutilizáveis.

Assim, é muito importante conhecer uma ferramenta tão rica quanto essa, mesmo que você seja um desenvolvedor e que seu foco não seja essa área. A ferramenta também tem uma curva de aprendizado pequena facilitando a rápida utilização da mesma nas empresas, e tem uma documentação bastante completa.

Gostou do artigo e quer saber mais sobre Terraform, aqui na alura temos o curso de Terraform que vai te ensinar desde como provisionar a primeira infraestrutura até trabalhar com Terraform Cloud.

Artigos de Tecnologia e Negócios > Programação

Cursos profissionais de Programação é na Alura, comece agora!

  • 1150 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1150 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1150 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1150 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana