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
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
- Cursos gratuitos com certificado: https://cursodevops.com.br/cursos-devops-gratuitos/