ANÚNCIO

~/questoes/devops

Por que organizar código Terraform em módulos é uma prática recomendada?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Projeto Prático DevOps: Docker, AWS, Terraform e CI/CD
Para fixar

Modularização do Terraform: Por que organizar em módulos

Conceito central

Modularizar código Terraform significa dividir sua infraestrutura em blocos reutilizáveis e independentes. Essa prática é fundamental em projetos DevOps porque transforma configurações complexas em componentes organizados, facilitando manutenção, reutilização e trabalho em equipe.

Por que essa resposta faz sentido

Organizar código Terraform em módulos permite reutilizar código entre projetos, facilita correções e atualizações em um único lugar, e promove padrões consistentes quando múltiplas pessoas trabalham na mesma infraestrutura. Um módulo bem estruturado é como um 'componente pronto para usar' que você aplica onde precisa.

Armadilhas comuns

  • Confundir modularização Terraform com containerização Docker. São tecnologias diferentes: Terraform organiza infraestrutura, Docker organiza aplicações.
  • Pensar que módulos eliminam mudanças futuras. Módulos facilitam mudanças, não as evitam. Infraestrutura é viva e evolui constantemente.
  • Acreditar que módulos automaticamente garantem compatibilidade ou performance. Módulos são apenas 'blocos de código organizados'. A qualidade depende de quem os cria e mantém.

Entenda as alternativas

A

Módulos Terraform não testam automaticamente compatibilidade com versões antigas. A compatibilidade é responsabilidade do desenvolvedor, que deve especificar a versão mínima do Terraform no bloco terraform { required_version = "..." }.

B

Módulos Terraform não reduzem tamanho de imagens Docker nem aceleram builds. Terraform e Docker são ferramentas separadas. Terraform provisiona infraestrutura, enquanto Docker cria containers. A confusão vem de ambas fazerem parte de um pipeline DevOps, mas não se influenciam dessa forma.

C

Infraestrutura sempre precisa ser atualizada e modificada. Servidores recebem patches, aplicações evoluem, requisitos mudam. O Terraform facilita essas mudanças de forma controlada e versionada, mas não elimina a necessidade delas.

D

Esta é a resposta correta. Módulos Terraform permitem reutilização (você cria uma vez, usa em vários projetos), melhor manutenção (correções em um lugar beneficiam todos) e colaboração (diferentes times usam módulos padronizados).

Dica prática: Pense em módulos Terraform como 'receitas prontas'. Você cria um módulo para 'configurar um servidor web com segurança padrão' uma única vez, e depois reutiliza esse módulo sempre que precisa de um servidor web. Isso economiza tempo e garante consistência.

Revise pensando: Se você precisar usar a mesma configuração de banco de dados em 5 projetos diferentes, como módulos Terraform ajudam a evitar repetir o código 5 vezes?