Estrutura de código e convenções de nomenclatura
Adote as melhores práticas para organizar seus arquivos e módulos do Terraform, juntamente com convenções consistentes de nomenclatura para recursos e variáveis.
Estrutura de código e convenções de nomenclatura é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Por que estruturar o código do Terraform?
Assim como organizar seu espaço de trabalho físico, estruturar seu código do Terraform facilita a compreensão, o gerenciamento e a colaboração.
Uma boa estrutura melhora a legibilidade, reduz erros e ajuda novos membros da equipe a se familiarizarem rapidamente com o projeto.
Arquivos essenciais do Terraform
Os projetos do Terraform geralmente começam com alguns arquivos importantes. Organizar sua configuração nesses arquivos é uma prática comum recomendada:
main.tf: Define recursos e módulos.variables.tf: Declara todas as variáveis de entrada.outputs.tf: Define os valores de saída da sua infraestrutura.versions.tf: Especifica as versões do Terraform e dos provedores.
Nomeando seus recursos
Uma nomenclatura consistente facilita a identificação dos recursos. Siga estas orientações gerais para o nome local (por exemplo, my_instance em resource "aws_instance" "my_instance"):
- Use nomes descritivos: O que o recurso faz?
- Use hífens ou sublinhados: Para melhorar a legibilidade (por exemplo,
web-server-sgouweb_server_sg). - Evite nomes genéricos:
serveré menos informativo queapp-frontend-server.
Os nomes locais de recursos do Terraform devem ser exclusivos dentro de um módulo.
Convenções para variáveis
As variáveis tornam suas configurações flexíveis. Nomeá-las corretamente é essencial:
- Letras minúsculas com sublinhados: Esta é a convenção mais comum (por exemplo,
instance_type,vpc_id). - Seja específico: O que esta variável controla?
- Adicione descrições: Explique a finalidade da variável para garantir clareza.
Bons nomes de variáveis ajudam outras pessoas a entender quais entradas o seu módulo espera.
Nomeando valores de saída
As saídas expõem informações importantes sobre sua infraestrutura implantada. Nomeá-las de forma consistente ajuda os consumidores:
- Letras minúsculas com sublinhados: Assim como nas variáveis, por exemplo,
web_server_ip. - Descreva o valor: Que informação ele fornece?
- Adicione descrições: Elas são essenciais para que as saídas do módulo expliquem o que retornam.
Exemplo: configuração simples
Este arquivo main.tf completo demonstra boas práticas de nomenclatura para um recurso, uma variável e uma saída. Você pode executar terraform init e terraform plan com ele.
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "~> 3.0"
}
}
}
resource "null_resource" "example_web_server" {
# Descriptive resource name
triggers = {
always_run = timestamp()
}
}
variable "app_environment" {
description = "The application's deployment environment (e.g., dev, prod)."
type = string
default = "development"
}
output "resource_unique_id" {
description = "The unique ID of the example null resource."
value = null_resource.example_web_server.id
}Estruturando módulos do Terraform
Para componentes reutilizáveis, os módulos têm sua própria estrutura clara:
- Módulo raiz: O diretório de nível superior que contém sua configuração principal.
- Módulos filhos: Subdiretórios, cada um contendo seu próprio
main.tf,variables.tf,outputs.tfetc. - README.md: Essencial para explicar a finalidade, as entradas e as saídas do módulo.
Isso mantém os módulos autocontidos e fáceis de reutilizar.
Organizando as pastas do projeto
Além dos próprios arquivos, a forma como você organiza as pastas do projeto é crucial, especialmente em estruturas maiores:
- Separe os ambientes: Tenha pastas dedicadas para
dev,stagingeprod, cada uma com sua própria configuração. - Pasta de módulos comuns: Um diretório
modulespara seus módulos personalizados e reutilizáveis. - Pasta raiz para provedores: A pasta de nível superior geralmente define os provedores e o backend do estado.
Isso evita divergências de configuração e melhora a facilidade de gerenciamento entre os ambientes.
Exemplo de pasta do projeto
Um projeto típico do Terraform com vários ambientes poderia ter a seguinte aparência, proporcionando separação clara e reutilização:
.
├── modules/
│ ├── vpc/
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ └── outputs.tf
│ └── ec2-instance/
│ ├── main.tf
│ └── variables.tf
├── environments/
│ ├── dev/
│ │ └── main.tf
│ ├── staging/
│ │ └── main.tf
│ └── prod/
│ └── main.tf
└── README.mdVerifique sua compreensão
Qual das opções a seguir representa a melhor prática para nomear uma variável de entrada do Terraform que especifica o número de instâncias?
Recapitulação: estrutura e nomenclatura
Aprendemos que um código do Terraform bem estruturado e nomeado de forma consistente é essencial para a legibilidade, a facilidade de manutenção e a colaboração em equipe.
- Organize os arquivos em
main.tf,variables.tfeoutputs.tf. - Use nomes descritivos, em letras minúsculas e com sublinhados, para recursos, variáveis e saídas.
- Estruture os módulos e as pastas do projeto para permitir reutilização e separação de ambientes.
Essas práticas estabelecem a base para um gerenciamento eficaz de infraestrutura como código!
Perguntas Frequentes
A aula “Estrutura de código e convenções de nomenclatura” é grátis?
Sim — o texto completo de “Estrutura de código e convenções de nomenclatura” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Estrutura de código e convenções de nomenclatura”?
Adote as melhores práticas para organizar seus arquivos e módulos do Terraform, juntamente com convenções consistentes de nomenclatura para recursos e variáveis. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Estrutura de código e convenções de nomenclatura”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estrutura de código e convenções de nomenclatura
- Controle de versão com Git
- Colaboração e fluxos de trabalho em equipe
- Documentação e fluxos de autoatendimento