O Terraform é uma ferramenta criada pela HashiCorp, uma das empresas mais conhecidas no mundo de DevOps e SRE, contando com diversas outras ferramentas, como o Consul, Vault, Sentinel, etc.
Muitas vezes nos deparamos com problemas que podem gerar outras complicações em consequência da nossa tentativa de encontrar uma solução. Mas um grande benefício de se trabalhar com cloud computing é que as coisas evoluem e precisam ser automatizadas.
Pelo site da AWS nós podemos provisionar máquinas virtuais na parte de EC2, podemos criar cluster Kubernetes, bucket na S3 ou qualquer coisa do tipo. E então nós começamos a fazer tudo isso de uma forma cada vez mais manual, apesar das diversas variações desses recursos.
Outras situações típicas que requerem muito trabalho manual podem incluir: a chegada de um novo funcionário na empresa, a necessidade de duplicar a nossa infraestrutura, criá-la numa outra região ou eventualmente mudar de cloud.
A parte mais problemática em relação a isso é que situações desse tipo envolvem tarefas muito repetitivas, que também trazem uma grande margem de erro. Nesse caso, pensando em resolver esse tipo de questão, nós podemos utilizar o Terraform.
Infraestrutura como Código:
Mas o mais importante é que o Terraform utiliza IaC (Infra as Code), ou Infraestrutura como Código, que nos permite programar toda a nossa infraestrutura através desse método.
Com algumas linhas nós podemos definir que a Amazon crie tudo isso com todas as configurações que nós precisamos através de um simples código. Da mesma forma, através de outro comando é possível destruir tudo isso facilmente, poupando muito tempo nessa tarefa também.
As grandes empresas utilizam diversos processos, mas normalmente esse manifesto é adicionado a uma pipeline de CI e CD. Nesse caso, sempre que um manifesto Terraform é adicionado, ele acaba numa pipeline. Se tudo estiver em ordem, nós simplesmente fazemos uma pull request e um merge para aplicar automaticamente esse processo na nossa infra.
Tudo isso vai resultar numa infraestrutura como código e o processo de entrega é baseado completamente nos nossos manifestos, então nós não precisamos nos preocupar em esquecer configurações que podem provocar problemas.
Essas opções facilitam muito o nosso trabalho porque hoje podemos utilizar AWS, mas se amanhã nós precisarmos de Azure, nós simplesmente criamos esse manifesto focado no Azure e com um simples comando é possível adicionar toda a nossa infraestrutura naquele ponto.
Por todos esse benefícios o Terraform é uma ferramenta capaz de disponibilizar a nossa infraestrutura pelos principais serviços de cloud. Lembrando que isso também serve para economizarmos o tempo em diversas tarefas repetitivas, que abrem margem a erros.
Se você curtiu esse conteúdo e quer aprender mais sobre o Terraform, solicite contato clicando aqui e nós te ajudamos.



Curso Full Cycle 4.0
Curso Full Cycle 4.0 Juniors
MBA em Engenharia de Software com IA
MBA Arquitetura Full Cycle
Pós Liderança Técnica
Pós GO Expert
Devops Pro