0Pricing
DevOps Bootcamp · Aula

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-sg ou web_server_sg).
  • Evite nomes genéricos: server é menos informativo que app-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.tf etc.
  • 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, staging e prod, cada uma com sua própria configuração.
  • Pasta de módulos comuns: Um diretório modules para 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.md

Verifique 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.tf e outputs.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

  1. Estrutura de código e convenções de nomenclatura
  2. Controle de versão com Git
  3. Colaboração e fluxos de trabalho em equipe
  4. Documentação e fluxos de autoatendimento
← Voltar para DevOps Bootcamp