Iniciando a jornada com o Terraform no Microsoft Azure

Esta foi a minha primeira contribuição publicada no Linkedin. Com o retorno positivo que recebi de colegas e amigos da profissão, sugeri replicá-lo aqui no nosso blog.

Pensei muito sobre o que escrever, então decidi falar sobre o momento que vivo na transição para o mundo do Infra as Code e gostaria de compartilhar como está sendo isso.

Minhas alegrias, frustrações… Afinal, não é somente histórias de superação e sucesso, não é mesmo?

Quando comecei a trabalhar com infraestrutura, por um momento achei que jamais usaria linhas de comando, afinal tinha “tudo” na interface gráfica. Absorvi como uma verdade absoluta.

Pensava que o lance do “código” era para escovador de bit ou até mesmo apenas para a aquela turma que a Infra sempre teve e tem pré-disposição para a guerrinha Infra x Desenvolvimento!

E, por ironia do destino, estamos cada vez mais próximos, o Infra as Code não é modismo e veio para ficar, quer queira ou não.

Não sei você, caro leitor, como foi sua transição para este mundo, porém a minha está acontecendo de forma gradativa, iniciando as minhas ações do dia a dia com o PowerShell e Bash do Linux.

A criação e o provisionamento nos provedores de nuvem se tornam cada vez mais rápidos, e abrir mão da interface gráfica para o prompt é algo constante em nossa rotina.

No Azure o modelo para provisionamento de recursos é o ARM (Azure Resource Manager) que consiste em formato JSON (JavaScript Object Notation – Notação de Objetos JavaScript). É uma formatação leve de troca de dados que pode ser usada na criação de valores para o provisionamento dos recursos.

ARM:

E se tivéssemos uma ferramenta que simplificasse um pouco a compreensão desse monte de linhas, variáveis, strings?

E aqui começo minha jornada com a brilhante ferramenta da Hashicorp, o Terraform.

Essa ferramenta ajuda a construir recursos e modificar, de forma que consiga versionar o código.

Não é uma ferramenta de gestão de configuração como outras do mercado.

Sua linguagem é baseada no GO e sua extensão de arquivos é o formato .tf.

O provisionamento de recursos e serviços é algo que deve acontecer de forma rápida e bem menos complexa para desprovisionar ou melhor destruir, afinal, pagamos pelo uso da Nuvem.

Exemplo: Criando uma Virtual NetWork

A sua estrutura de comandos se mostra bem objetiva e rápida de absorver:

Terraform Init = inicializa o trabalho em um diretório

Terraform Plan = Gera e mostra um plano de execução

Terraform Apply = Constrói ou muda sua infraestrutura

Terraform Destroy = Destrói sua infraestrutura

Desde a construção de uma Resource Group, VNET ou WEB APP, é simplesmente fantástico. Confesso que estou gostando bastante dessa experiência com o Terraform.

No próximo artigo, trarei uma criação de uma infra no Terraform com o Azure DevOps.

Se quiser me acompanhar no Linkedin, clique aqui.

Por último, mas não menos importante: a Avivatec acaba de se tornar parceira Gold Cloud Platform Microsoft. Isso significa que os nossos serviços estão alinhados com as ofertas de Nuvem da Microsoft no nível máximo de maturidade e qualidade técnica.

 

Vanderlei Mota é Cloud Engineer na Avivatec.