#Terraform

Terraform é uma ferramenta open-source desenvolvida pela HashiCorp que permite a definição, provisionamento e gerenciamento de infraestrutura por meio de uma linguagem de configuração declarativa. Ele é amplamente utilizado para criar, alterar e versionar a infraestrutura de maneira eficiente e automatizada.

SVG Image
Benefícios:
  • Automatizar o provisionamento de infraestrutura como código (IaC).
  • Compatibilidade com múltiplos provedores de nuvem, como Azure, AWS e Google Cloud.
  • Controle de versão: Acompanhe e reveta mudanças na infraestrutura facilmente.
  • Reutilização de código: Defina módulos para reutilizar e compartilhar blocos de configuração de infraestrutura.
  • Orquestração de recursos: Gerencie a infraestrutura de maneira escalável e eficiente, com menos intervenção manual.
  • Gerenciamento declarativo: Defina a infraestrutura desejada, e o Terraform garantirá que ela seja configurada corretamente.
Ciclo de vida:
  • Definição de infraestrutura: Utilizar a HashiCorp Configuration Language (HCL) para descrever os recursos da infraestrutura.
  • Planejamento: Executar terraform plan para visualizar as mudanças que serão aplicadas.
  • Aplicação: Aplicar as mudanças com terraform apply para provisionar ou modificar a infraestrutura.
  • Gerenciamento de estado: Utilizar o comando terraform state para rastrear o estado dos recursos.
  • Desprovisionamento: Utilizar terraform destroy para remover a infraestrutura quando não for mais necessária.
  • Uso de módulos: Reutilizar módulos para criar configurações complexas de maneira simples e modular.
Arquitetura:
  • Provedores: Componentes que permitem ao Terraform interagir com APIs de provedores de nuvem, como Azure e AWS
  • Estado: Um arquivo que armazena o estado atual da infraestrutura e ajuda a Terraform a planejar as mudanças necessárias.
  • Módulos: Blocos reutilizáveis de configuração que permitem a abstração e organização de infraestruturas complexas.
  • Backends: Armazenam o estado da infraestrutura, podendo ser locais ou remotos (S3, GCS, etc.).
  • HCL (HashiCorp Configuration Language): Linguagem declarativa usada para descrever a infraestrutura.
Recursos:
  • Infraestrutura como Código: Descreva sua infraestrutura como código, facilitando automação e gerenciamento de versões.
  • Multicloud: Gerencie múltiplos provedores de nuvem, incluindo Azure, AWS e Google Cloud, em uma única configuração.
  • Gerenciamento de estado: O Terraform mantém um estado da infraestrutura para garantir que as mudanças sejam aplicadas corretamente.
  • Módulos reutilizáveis: Crie módulos para simplificar a configuração da infraestrutura em múltiplos ambientes.
  • Execução paralela: Provisiona vários recursos em paralelo para otimizar o tempo de execução.
  • Planos de execução: Antes de aplicar mudanças, o Terraform gera um plano detalhado do que será alterado.
News