Iniciando a jornada com o Terraform no Microsoft Azure


Primeiramente, muito obrigado por ler essa minha primeira contribuição aqui no Microsoft Tech. 

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

Minhas alegrias e frustrações, afinal não sã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 aquela turma que a Infra sempre teve e tem pré-disposição para aquela guerrinha Infra x Desenvolvimento! 

E por ironia do destino estamos cada vez mais próximos, o Infrastructure as Code não é modismo e sim 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 torna cada vez mais rápido 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 usado na criação de valores para o provisionamento dos recursos. 

Em ARM:

uma imagem de um telefone celular

E se tivesse uma ferramenta que simplificasse um pouco entender esse 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 gestão de configuração como outras do mercado. 

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

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

Exemplo: Criando uma Virtual Network com Terraform:

uma captura de tela de um computador

A sua estrutura de comandos se mostra bem objetiva e rápido 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 um Resource Group, uma VNET ou Web App é simplesmente fantástico, confesso que estou gostando bastante dessa experiencia com o Terraform. 

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


Autor:

Atuante no mercado de tecnologia há 14 anos, com passagens por grandes empresas do mercado. Especializado em migrações e implementações de tecnologias Microsoft em ambientes on-premises. Atualmente sou Cloud Engineer na AVIVATEC. Membro da comunidade Azure Academy.