~/questoes/devops
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.
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.
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.
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.
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.
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.