Pular para o conteúdo principal

HCP Terraform - Hashcorp Cloud Platform (Terraform Cloud)

O HCP Terraform, também conhecido como Terraform Cloud, é um serviço gerenciado oferecido pela HashiCorp que facilita o uso colaborativo do Terraform, permitindo que equipes planejem, apliquem e gerenciem infraestrutura como código de maneira centralizada e segura. Ele é projetado para simplificar o fluxo de trabalho de infraestrutura, automatizando tarefas repetitivas, garantindo controle de acesso e fornecendo visibilidade sobre as alterações na infraestrutura.

Principais funcionalidades:

  • Execução Remota: Permite que planos (terraform plan) e aplicações (terraform apply) sejam executados em servidores da HashiCorp, eliminando a necessidade de rodar esses comandos localmente.
  • Gerenciamento de Estado: Armazena o estado remoto da infraestrutura de forma segura, com backups automáticos e bloqueio de estado para evitar concorrência em execuções.
    • Se você já tem alguma experiência com terraforms sabe que é necessário guardar os states files remotamente para que todos tenham acesso e com controle. Por exemplo na AWS geralmente usamos o S3 para guardar e o DynamoDB para fazer o lock para evitar condição de corrida.
  • Integração com Repositórios: Conecta-se a repositórios Git para detectar alterações no código e executar planos automaticamente em Pull Requests ajudando a trazer o conceito de GitOps.
  • Controle de Acesso (RBAC): Define permissões detalhadas para diferentes usuários e equipes, garantindo segurança e conformidade. Ajuda a diminuir o uso de roles nas clouds.
  • Workspaces: Organiza múltiplos estados e configurações em ambientes separados, como desenvolvimento, staging e produção.
  • Aprovações Manuais: Permite que alterações sejam revisadas e aprovadas antes de serem aplicadas na infraestrutura.
  • Notificações e Logs: Oferece logs centralizados e integração com ferramentas como Slack e Microsoft Teams para alertas em tempo real.
  • Alta disponibilidade do serviço.
  • Compartilhamento seguro de variáveis e segredos: Permite o compartilhamento seguro de variáveis e segredos entre membros da equipe, sem a necessidade de expô-los em texto não criptografado ou utilizar recursos da cloud para gerenciamento de chaves.
    • Pode ser integrado com o HashiCorp Vault para gerenciamento seguro de credenciais e segredos. Isso oferece uma camada adicional de segurança para sua infraestrutura.
  • Estimativa de custo: Analisa o seu código Terraform (os arquivos .tf) e, com base nos recursos que você está declarando ele calcula uma estimativa de quanto esses recursos custarão na nuvem. o HCP Terraform consulta as informações de preços dos provedores de nuvem (AWS, Azure, GCP, etc.) para obter os preços dos recursos identificados. Ainda mostra um Delta de custo que é a diferença entre o custo atual da sua infraestrutura e o custo estimado após as alterações que você está planejando aplicar.

Existe uma outra ferramenta chamada Atlantis open source.

Quando usar cada um?

CaracterísticaAtlantisHCP Terraform
ModeloCódigo aberto, auto-hospedadoSaaS (Software as a Service) gerenciado
GerenciamentoVocê gerencia a infraestruturaGerenciado pela HashiCorp
CustosCustos de infraestrutura para hospedagemPlano de preços da HashiCorp
Gerenciamento de estadoRequer configuração externa (S3, Azure Storage)Gerenciamento centralizado integrado
ColaboraçãoMais simples, baseado em workflows configuradosRecursos avançados como workspaces e controle de acesso
ExecuçãoLocal (na infraestrutura onde o Atlantis roda)Remota (na infraestrutura do HCP Terraform)
CustomizaçãoAlta, com atlantis.yamlConfiguração via interface web e algumas opções de customização
EscalabilidadeDepende da sua infraestruturaAltamente escalável
SegurançaVocê é responsável pela segurançaSegurança gerenciada pela HashiCorp
Recursos adicionaisLimitadosCost Estimation, Sentinel, módulos privados, etc.

Atlantis: Ideal para equipes que precisam de alto grau de customização, controle sobre o ambiente de execução e preferem uma solução de código aberto.

HCP Terraform: Ideal para equipes que buscam uma solução pronta para uso, com recursos avançados de colaboração, gerenciamento de estado centralizado, automação e segurança. Bom para equipes que querem minimizar a sobrecarga operacional e focar no desenvolvimento da infraestrutura.

Crie uma conta gratuitamente para começar a usar.