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.