DEV Community

Cover image for Terraform - O que é Infraestrutura como Código?
Diego Cravo Teixeira
Diego Cravo Teixeira

Posted on

Terraform - O que é Infraestrutura como Código?

Neste atigo iremos entender melhor o que é Infraestrutura como Código, ou simplesmente IaC (infrastructure as code).

Infraestrutura como código permitem gerenciar a infraestrutura com arquivos de configuração em vez de por meio de uma interface gráfica do usuário. IaC permite que você crie, altere e gerencie sua infraestrutura de maneira segura, consistente e repetitível, definindo configurações de recursos que você pode versionar, reutilizar e compartilhar.

Terraform é a ferramena de infraestrutura como código da HashiCorp. Esta ferramente permite que você defina recursos e infraestrutura em arquivos de configuração declarativos de maneira legível por humanos e gerencie o ciclo de vida de sua infraestrutura. O uso do Terraform tem várias vantagens em relação ao gerenciamento manual de sua infraestrutura:

  • Terraform pode gerenciar a infraestrutura em várias plataformas de nuvem (AWS, Azure, GCP, Oracle, entre outros).
  • A linguagem de configuração legível por humanos ajuda você a rapidamente escrever infraestrutura como código.
  • O gerenciamente de estado do Terraform permite o rastrear alterações de recursos em todas os seus deploys.
  • Você pode commitar suas configurações com o controle de versão para colaborar com segurança na infraestrutura.

Terraform

Manage any infrastructure

Os plugins do Terraform chamados de providers permitem que o Terraform interaja com as plataformas de nuvem e outros serviços por meio de APIs (Application Programming Interface). A HashiCorp e a comunidade Terraform já escreveram mais de 1.000 providers para gerenciar recursos na Amazon Web Services (AWS), Azure, Google Cloud Platform (GCP), Kubernetes, Helm, GitHub, Splunk e DataDog, só para citar alguns. Você pode Encontrar providers para as plataformas e serviços que você já usa no Terraform Registry.

Terraform Providers

Padronize o workflow de Deploy

Os providers definem unidades individuais de infraestrutura, por exemplo, instâncias de computação (Amazon EC2 ou Azure Virtual Machines) ou redes privadas (Amazon VPC ou Azure Virtual Network) como recursos.

A linguagem de configuração do Terraform é declarativa, o que significa que descreve o estado final desejado para sua infraestrutura. Os providers do Terraform calculam automaticamente as dependências entre os recursos para criá-los ou destruí-los na ordem correta.

Terraform workflow

Para fazer o deploy de infraestrutura com o Terraform:

  • Escopo - Identifique a infraestrutura para o seu projeto.
  • Autor - Escreva a configuração para sua infraestrutura.
  • Inicializar - Instale os plugins que o Terraform precisa para gerenciar a infraestrutura.
  • Planejar - Visualize as alterações que o Terraform fará para corresponder à sua configuração.
  • Aplicar - Faça as alterações planejadas.

Acompanhe sua infraestrutura

O Terraform rastreia sua infraestrutura real em um arquivo de estado, que atua como uma fonte de "verdade" para o seu ambiente. O Terraform usa o arquivo de estado para determinar as alterações a serem feitas em sua infraestrutura para que ela corresponda à sua configuração.

Conclusão

Neste artigo vimos alguns conceitos básicos sobre Infraestrutura como Código e Terraform, uma ferramenta de software de código aberto, criada pela HashiCorp.

Espero que tenham gostado e até a próxima.

Top comments (0)