- Agora vivemos uma era em que é possível implantar servidores com alguns cliques no console da AWS e construir diversas infraestruturas com uma única linha de comando
- IaC
- Gerenciar e provisionar infraestrutura por meio de código
- Tudo o que queremos, como rede, servidores e armazenamento, é salvo e gerenciado em código
- Assim, é possível compartilhar, testar e reutilizar código para gerenciar a infraestrutura com mais produtividade
- Terraform
- O Terraform é a ferramenta mais famosa entre as de IaC
- Gerencia não apenas nuvens como AWS, GCP e Azure, mas também soluções internas da empresa
- Usa uma abordagem declarativa, na qual se define o resultado final desejado, o que facilita prever o resultado
- Mesmo reutilizando o código, garante o mesmo resultado
- Ao executar
terraform plan, é criado um plano detalhado de como os recursos serão criados na AWS
- A aplicação real é feita com
terraform apply
- As informações dos recursos criados pelo Terraform são gerenciadas em um arquivo JSON chamado
tfstate
- Forma de uso do Terraform
- Oferece a capacidade de receber entradas do usuário por meio de várias palavras-chave para criar recursos e exibir o resultado da execução na CLI
- Provider
- Plugin que implementa tipos de recursos
- Encontre o provider da plataforma ou serviço de nuvem usado, como AWS ou GCP, adicione-o à configuração e provisione a infraestrutura usando os respectivos recursos
- Module
- Pequena configuração reutilizável do Terraform que permite gerenciar um grupo de recursos relacionados como se fosse um único recurso
- Também é possível aproveitar livremente módulos criados por outras pessoas para gerenciar muitos recursos de forma eficiente com pouco código
- É possível chamar o mesmo módulo várias vezes com configurações diferentes
- Resource
- Palavra-chave que descreve um ou mais objetos de infraestrutura, como componentes de alto nível, como rede virtual, instância de computação ou registro DNS
- Variable
- Variáveis de entrada permitem definir atributos de recursos sem alterar o código-fonte do módulo
- É semelhante aos parâmetros de função em linguagens de programação
- Por meio das variáveis de entrada, o módulo pode ser compartilhado e reutilizado com mais flexibilidade
- Output
- Valores de saída podem criar informações de infraestrutura usadas na linha de comando e expor informações para outras configurações do Terraform que irão utilizá-las
- É semelhante ao valor de retorno em linguagens de programação
Ainda não há comentários.