ANÚNCIO

~/questoes/devops

O que é Infrastructure as Code (IaC) no contexto de gerenciamento de recursos em nuvem?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Deploy de aplicações Node.js na AWS com IaC e Pulumi
Para fixar

Infrastructure as Code (IaC) na AWS

Conceito central

Infrastructure as Code é a prática de descrever toda a infraestrutura em nuvem através de código declarativo versionado, em vez de configurar recursos manualmente. Isso permite que servidores, redes, bancos de dados e outros componentes sejam criados, atualizados e destruídos de forma automática, previsível e rastreável, assim como você versionaria o código de uma aplicação.

Por que essa resposta faz sentido

A alternativa C está correta porque IaC é exatamente isso: uma abordagem onde você define, provisiona e gerencia infraestrutura através de código que pode ser versionado no Git, revisado em pull requests e controlado como qualquer outro código. Ferramentas como Pulumi transformam essa definição em ações reais na AWS.

Armadilhas comuns

  • Confundir IaC com simples automação ou scripts bash. IaC é mais que isso: é código declarativo versionado que descreve a infraestrutura desejada como um todo.
  • Pensar que IaC é só para grandes empresas. Qualquer projeto que use nuvem se beneficia de descrever infraestrutura em código, desde o primeiro dia de desenvolvimento.
  • Acreditar que documentar a infraestrutura em texto é Infrastructure as Code. Documentação descreve; código IaC executa e provisa recursos reais na nuvem.

Entenda as alternativas

A

Instalar aplicações Node.js via SSH é um processo manual de configuração de servidores, não é Infrastructure as Code. IaC é justamente o oposto: automatizar e descrever tudo em código para evitar tarefas manuais repetitivas.

B

Documentar manualmente em arquivos de texto não é IaC. O código em IaC é executável e gera infraestrutura real automaticamente. Documentação é apenas informação; código IaC é instrução que a nuvem entende e executa.

C

Esta é a definição correta de IaC. O código declarativo descreve o estado desejado da infraestrutura, é versionado no Git, pode ser revisado antes de aplicar, e ferramentas como Pulumi e Terraform transformam esse código em recursos reais na AWS.

D

IaC não é um serviço AWS específico que substitui o console. IaC é uma metodologia e abordagem que pode ser implementada com várias ferramentas (Pulumi, Terraform, CloudFormation). É um conceito, não um produto único.

Dica prática: Comece pequeno: defina uma única instância EC2 em código Pulumi ou Terraform, faça o deploy, veja funcionar, e depois vá adicionando mais recursos (RDS, VPC, security groups). Versionando tudo no Git, você terá histórico completo de como sua infraestrutura evoluiu.

Revise pensando: Se você deletar seu arquivo de código IaC e depois rodá-lo novamente, o que acontecerá com sua infraestrutura na AWS?