Questão de Engenharia de Software — DevOps, IaC, Integração Contínua e Entrega Contínua — CESPE / CEBRASPE 2024
- Código
- ce403882
- Banca
- CESPE / CEBRASPE
- Órgão
- BACEN
- Ano
- 2024
- Cargo
- Ana ( )
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: Certo (C). No modelo de infraestrutura como código, é plenamente possível definir e implantar sub-redes, balanceadores de carga e máquinas virtuais por meio de código, sem configurações manuais — essa é a essência da IaC, que trata a infraestrutura como software, permitindo versionamento, reprodutibilidade e automação.
A infraestrutura como código (IaC) é uma prática do DevOps que consiste em gerenciar e provisionar a infraestrutura de TI — como redes, balanceadores, servidores e máquinas virtuais — por meio de arquivos de configuração e código, em vez de processos manuais. O objetivo é tratar a infraestrutura da mesma forma que o código-fonte de uma aplicação: versionada, testada e implantada de forma automatizada e repetível.
A regra central da IaC é a automação: a infraestrutura é descrita em código declarativo ou imperativo, e ferramentas como Terraform, Ansible e AWS CloudFormation interpretam esse código para criar, modificar ou destruir recursos de forma consistente. Isso elimina a necessidade de configurações manuais, que são propensas a erros e difíceis de reproduzir.
Na prática, um engenheiro de DevOps pode escrever um arquivo Terraform que define uma VPC (rede virtual), sub-redes públicas e privadas, um balanceador de carga e três máquinas virtuais. Ao executar o código, a ferramenta provisiona todos esses recursos na nuvem automaticamente, sem que ninguém precise acessar o console e clicar em cada opção. Se o código for executado novamente, o resultado será o mesmo — a IaC é idempotente.
A distinção importante é entre IaC e scripts manuais: enquanto um script imperativo (como um shell script) executa comandos sequenciais e pode não garantir o estado final desejado, a IaC declarativa (como Terraform) define o estado desejado e a ferramenta se encarrega de alcançá-lo, garantindo consistência e reprodutibilidade.
A pegadinha que a banca explora neste tema é a tentação de achar que infraestrutura como código ainda exige configurações manuais ou que é apenas uma forma de documentação. Na verdade, a IaC é exatamente o oposto: é a automação total do provisionamento, com o código como fonte única de verdade.
Guarde o critério decisivo: se a questão menciona definição de recursos por código, sem configuração manual, a resposta é IaC — e é exatamente isso que o item afirma.
O item descreve com precisão o conceito de infraestrutura como código: a possibilidade de implantar sub-redes, balanceadores de carga e máquinas virtuais por meio de código, sem configurações manuais. Isso está alinhado com a definição de IaC, que provisiona e gerencia a infraestrutura usando técnicas de desenvolvimento de software, como controle de versão e automação. Não há qualquer ressalva: a IaC permite exatamente isso, e é uma das práticas centrais do DevOps.
Gabarito: Certo (C).
Link permanente: /questoes/ce403882