Estimativa de Custos com Infracost – Terraform

Conheça o custo da sua infraestrutura.

O provisionamento de infraestrutura se torna mais fácil e robusto com a introdução da computação em nuvem. A computação em nuvem permite que organizações provisionem infraestrutura de aplicativos mais rapidamente do que em data centers locais. A computação em nuvem oferece vantagens únicas, como:

  • Elasticidade
  • Automação
  • Provisionamento rápido

Organizações e startups adotaram rapidamente a computação em nuvem nos últimos anos. Mas, enquanto a computação em nuvem facilita a obtenção de recursos, também torna mais difícil gerenciar e manter esses recursos.

A Infraestrutura como Código (IaC) é a resposta para gerenciar eficientemente recursos na nuvem. IaC permite a codificação dos recursos em nuvem e possibilita a reutilização. Isso representa uma grande vantagem em comparação com implantações manuais ou imperativas.

Por exemplo, se sua organização precisa provisionar ambientes de Desenvolvimento, Staging e Produção com configurações semelhantes, podemos alcançar isso com IaC. Podemos implantar tanto no staging quanto na produção usando a mesma base de código e alterando apenas os parâmetros que precisam ser alterados.

No blog de hoje, discutirei como calcular os custos incorridos com o provisionamento de infraestrutura. Esta ferramenta é projetada para funcionar com uma ferramenta popular de IaC chamada Terraform.

Conhecendo o Infracost

Infracost é uma ferramenta usada para calcular quanto custarão os recursos na nuvem. Isso ajuda engenheiros DevOps e SRE a determinar o impacto financeiro de mudanças antes de implementá-las.

Podemos acionar o Infracost via CLI ou com base no Pull Request no repositório de código.

Instalando o CLI do Infracost

A instalação do Infracost é simples. Com base no sistema operacional utilizado, podemos utilizar o gerenciador de pacotes relevante para a instalação. Consulte esta documentação para mais detalhes.

Inscreva-se gratuitamente e obtenha a chave da API.

O próximo passo é obter a chave da API na nuvem para autenticar com o Infracost. Esta chave da API é necessária ao trabalhar com o CLI ou integrações de pipeline CI/CD.

Criar uma conta no Infracost é gratuito. Após criar uma conta, podemos usar a linha de comando para autenticar o CLI com o Infracost conforme abaixo:

  • infracost auth login

Exemplo de Arquivo Terraform

https://gist.githubusercontent.com/kasunsjc/83adcf1282d8eef3720f5cdf334c4ebb/raw/3e09a910b19f1dd939f4c673abda4a9d26051e49/vm-sa-terraform.tf

Visualizar Detalhamento do Infracost para Terraform

Após fazer login no Infracost via CLI, navegue até a pasta do Terraform onde seus arquivos TF estão armazenados. Então, podemos executar o seguinte comando para calcular o custo da infraestrutura declarada:

  • infracost breakdown –path

Você receberá uma saída como a seguinte, mostrando a divisão de custos para cada recurso.

Visualizar Diferença na Estimativa de Custo

Em seguida, vamos ver como identificar a diferença de custo quando alteramos os recursos em relação à linha de base.

Primeiro, precisamos criar um arquivo JSON de linha de base como abaixo:

  • infracost breakdown –path . –format json –out-file infracost-base.json

Em seguida, vamos alterar o arquivo Terraform. Neste caso, vamos alterar o tamanho da VM para Standard_B2s em vez de Basic_A2.

Depois, vamos comparar essa mudança com a linha de base que geramos anteriormente:

  • infracost diff –path . –compare-to infracost-base.json

Com a saída acima, você pode ver que o Standard_B2s é mais barato que o Basic_A2 e mostra a diferença de preço e a porcentagem.

Conclusão

O Infracost é uma ferramenta valiosa para aplicar no provisionamento de IaC. Isso permite que equipes de DevOps/SRE identifiquem a divisão de custos ao adicionar e remover recursos do Terraform. O Infracost fornece um painel de controle e possui integração com ferramentas de CI/CD como GitHub, Azure DevOps e outras para automatizar o cálculo de custos.

No próximo artigo, vamos examinar como automatizar o Infracost através de um pipeline CI/CD para identificar custos.

Cursos e treinamentos

Compartilhe esse conteúdo

Posts Relacionados

O que é Terrascan?

Recursos, casos de uso e políticas personalizadas Neste artigo, vamos analisar o Terrascan. Vamos perguntar o que é, por que

LER MAIS

O que é OpenTelemetry

OpenTelemetry é um projeto open-source criado pela Cloud Native Computing Foundation (CNCF) que fornece uma coleção de ferramentas, APIs e

LER MAIS