{"subject_id":"3a3cc48d009981809ccdda31b8b94577","topico":"IaC: declarativo × imperativo, idempotência, imutável, Terraform (plan/apply, state)","stems":["Acerca das linguagens de programação, das linguagens de script e dos diferentes padrões de representação de dados, julgue os itens a seguir.","No que concerne à gestão de configuração e à infraestrutura como código (IAC), julgue os itens a seguir.","A respeito de IaC (infrastructure as code), integração contínua, automação e provisionamento de infraestrutura com Terraform, julgue os itens subsecutivos.","Julgue o próximo item quanto ao conceito de infraestrutura como código (IaC).","Julgue o item a seguir, relativo a infraestrutura como código (IaC, na sigla em inglês).","A respeito de infraestrutura como código, Docker e Kubernetes, julgue os itens a seguir.","No que se refere aos componentes centrais da arquitetura em nuvem, julgue os itens seguintes.","Acerca de IaC (Infrastructure as Code), julgue os itens subsecutivos.","No que se refere aos conceitos de infraestrutura como código (IaC), julgue o próximo item."],"questions":[{"id":"d3cca708be7e","number":59,"stem":0,"statement":"O Terraform e o Ansible possuem funcionalidades diferentes e, por esse motivo, não podem ser usados em conjunto para criar uma solução completa de automação de infraestrutura.","answer":"E","source":{"slug":"STM_25","ano":2025},"explanation":{"verdict_reason":"A diferença de função é justamente o que torna as duas ferramentas complementares: o Terraform provisiona os recursos — máquinas, redes, balanceadores — e o Ansible configura o que passa a existir dentro deles: pacotes, serviços, arquivos. Encadeá-las na mesma esteira é o arranjo mais comum do mercado. O item parte de uma premissa verdadeira e extrai dela a conclusão oposta.","distortion_type":"relacao_causal","distorted_span":"por esse motivo, não podem ser usados em conjunto","corrected_statement":"O Terraform e o Ansible possuem funcionalidades diferentes e, por esse motivo, complementam-se ao ser usados em conjunto para criar uma solução completa de automação de infraestrutura.","concept":"provisionamento e gerência de configuração se complementam","citation":null,"trap_note":"Ferramentas diferentes, logo incompatíveis é um salto falso recorrente. Em DevOps, divisão de responsabilidades quase sempre significa encadeamento, não exclusão."}},{"id":"44ebcf934439","number":54,"stem":1,"statement":"A IAC automatiza o provisionamento de infraestrutura, liberando os desenvolvedores de tarefas manuais.","answer":"C","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"Automatizar o provisionamento é a função da IaC: o ambiente é descrito uma vez e passa a ser criado por execução de código, sem a sequência manual de instalar, configurar e interligar recursos. Liberar as equipes dessa operação repetitiva é consequência direta, e é o que o item afirma.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"IaC automatiza o provisionamento e dispensa a tarefa manual","citation":null,"trap_note":"Item curto e genérico de IaC, sem número, sem sempre e sem nunca, costuma ser correto. A banca erra o tópico por detalhe técnico trocado, não por afirmação vaga."}},{"id":"841391d5f1f0","number":55,"stem":1,"statement":"O editor de pipeline é a ferramenta principal para configurar o GitLab CI/CD, através do arquivo .gitlab-ci.yml, que por padrão deve estar localizado na pasta de configuração do repositório.","answer":"E","source":{"slug":"TRT10_24","ano":2024},"explanation":{"verdict_reason":"O .gitlab-ci.yml é procurado, por padrão, na raiz do repositório; ficar em outro lugar exige configurar um caminho personalizado para o arquivo de CI/CD do projeto. Não há pasta de configuração padrão onde ele deva residir. O restante da frase está correto: o editor de pipeline é a ferramenta do GitLab para trabalhar esse arquivo.","distortion_type":"troca_de_termo","distorted_span":"que por padrão deve estar localizado na pasta de configuração do repositório","corrected_statement":"O editor de pipeline é a ferramenta principal para configurar o GitLab CI/CD, através do arquivo .gitlab-ci.yml, que por padrão deve estar localizado na raiz do repositório.","concept":".gitlab-ci.yml na raiz do repositório","citation":"GitLab Docs — CI/CD YAML syntax reference","trap_note":"Arquivo que define esteira mora na raiz: .gitlab-ci.yml no GitLab, Jenkinsfile no Jenkins. A exceção conhecida é o GitHub Actions, em .github/workflows. Inventar subpasta para os dois primeiros torna o item errado."}},{"id":"17f275c235bc","number":59,"stem":2,"statement":"No Terraform, o provisionamento por shell envolve a execução de scripts em uma máquina após a criação dos recursos, usando-se a ferramenta WinRM para se conectar às instâncias de execução de comandos.","answer":"E","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"O provisionamento por shell roda scripts na instância depois que ela existe, e o transporte que ele usa é o SSH — a conexão padrão do lado Linux. WinRM é o transporte do lado Windows, usado com scripts PowerShell. O restante da descrição está correto: esse tipo de provisionador atua após a criação do recurso, e não durante.","distortion_type":"troca_de_termo","distorted_span":"usando-se a ferramenta WinRM","corrected_statement":"No Terraform, o provisionamento por shell envolve a execução de scripts em uma máquina após a criação dos recursos, usando-se o SSH para se conectar às instâncias de execução de comandos.","concept":"script shell conecta por SSH; WinRM é para Windows","citation":null,"trap_note":"Transporte por sistema operacional: SSH para Linux, WinRM para Windows. A regra vale para Terraform, Packer e Ansible, e é justamente onde a banca troca um pelo outro."}},{"id":"5ec41ce4c8bd","number":60,"stem":2,"statement":"Integração contínua é uma prática DevOps em que desenvolvedores compartilham o trabalho regularmente e automatizam a construção, o teste e a validação com a prática de fazer commits.","answer":"C","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"Integração contínua é integrar trabalho no repositório compartilhado com frequência — commits pequenos e constantes — e deixar que a automação construa, teste e valide cada integração. O objetivo é que conflito e quebra apareçam em horas, não em semanas de trabalho isolado. A definição do item é exatamente essa.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"integração contínua: commits frequentes com build e teste automatizados","citation":null,"trap_note":"A CI termina no artefato validado; a entrega contínua o deixa pronto para implantar; a implantação contínua o põe em produção sem aprovação manual. Item que faça a CI publicar em produção passou de etapa."}},{"id":"a658229f5fd5","number":61,"stem":2,"statement":"IaC é o processo de gerenciamento e provisionamento de data centers por meio de arquivos legíveis, em que as definições de infraestrutura podem estar contidas em um arquivo de sistema de controle de versão (VCS).","answer":"C","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"É a definição canônica: gerenciar e provisionar infraestrutura por arquivos de definição legíveis, em lugar de configuração manual. E, como o que descreve o ambiente é arquivo de texto, ele entra no controle de versão junto com o código da aplicação, ganhando histórico, revisão e reversão a um estado anterior conhecido.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"IaC: arquivos de definição legíveis sob controle de versão","citation":null,"trap_note":"Essa definição reaparece quase palavra por palavra em vários itens do tópico, e costuma vir correta. Suspeite quando o objeto mudar de infraestrutura para código da aplicação, ou quando o arquivo deixar de ser legível por máquina."}},{"id":"77d9324efa1e","number":62,"stem":2,"statement":"A abordagem declarativa para IaC (funcional) é focada no modo como a infraestrutura deve ser alterada, definindo comandos específicos que devem ser executados, na ordem apropriada, para afinal se alcançar a conclusão desejada.","answer":"E","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"Descrever o modo como a infraestrutura deve ser alterada, com comandos específicos executados na ordem apropriada, é a abordagem imperativa. A declarativa faz o contrário: declara o estado final desejado e deixa que a ferramenta descubra o caminho até ele. O item põe o nome de um modelo sobre a definição do outro.","distortion_type":"inversao","distorted_span":"é focada no modo como a infraestrutura deve ser alterada, definindo comandos específicos que devem ser executados, na ordem apropriada","corrected_statement":"A abordagem declarativa para IaC (funcional) é focada no estado final que a infraestrutura deve apresentar, cabendo à ferramenta definir os comandos que devem ser executados, na ordem apropriada, para afinal se alcançar a conclusão desejada.","concept":"declarativo diz o quê; imperativo diz como","citation":null,"trap_note":"Palavras como comandos, passos, sequência e ordem apropriada pertencem ao imperativo. Se aparecerem ao lado da palavra declarativo, as definições foram trocadas."}},{"id":"b47257333561","number":85,"stem":3,"statement":"A IaC é uma forma de disponibilizar códigos-fontes de atualização em código aberto para o usuário final.","answer":"E","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"Disponibilizar código-fonte ao usuário final é distribuição de software livre, não IaC. A IaC descreve e provisiona infraestrutura — servidores, redes, serviços — por arquivos versionados, e quem a consome é a equipe que opera o ambiente, não o usuário final da aplicação. A definição foi tomada de outro assunto.","distortion_type":"atribuicao_errada","distorted_span":"disponibilizar códigos-fontes de atualização em código aberto para o usuário final","corrected_statement":"A IaC é uma forma de gerenciar e provisionar infraestrutura por meio de arquivos de definição versionados, em vez de configuração manual.","concept":"IaC × distribuição de software de código aberto","citation":null,"trap_note":"Ao julgar definição de sigla, teste o objeto antes do verbo: o objeto da IaC é a infraestrutura. Definição cujo objeto seja o código da aplicação, ou o usuário final, já saiu do assunto."}},{"id":"f1a27ad7fdc1","number":71,"stem":4,"statement":"A IaC declarativa especifica as propriedades dos recursos de infraestrutura que deseja provisionar e, em seguida, a ferramenta IaC descobre como alcançar esse resultado final por conta própria.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"É a definição do modelo declarativo: especificam-se as propriedades dos recursos desejados e a ferramenta calcula sozinha o que criar, alterar ou destruir, e em que ordem, para chegar ao resultado. Quem escreve descreve o destino; o caminho é problema da ferramenta.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"declarativo: descreve-se o estado final e a ferramenta encontra o caminho","citation":null,"trap_note":"A frase a ferramenta descobre como é assinatura do declarativo. É também o que permite executar o mesmo arquivo repetidamente sem efeito adicional quando a realidade já corresponde ao declarado."}},{"id":"3329564208de","number":97,"stem":5,"statement":"No modelo de infraestrutura como código, é possível a implantação de uma infraestrutura com definição de sub-redes, balanceadores de carga e máquinas virtuais com a utilização de código, sem a necessidade de configurações manuais.","answer":"C","source":{"slug":"BCB_24","ano":2023},"explanation":{"verdict_reason":"O que a IaC descreve em arquivo não é só a máquina virtual: sub-rede, balanceador, regra de firewall e armazenamento também são recursos declarados no mesmo código, com as dependências entre eles resolvidas pela ferramenta. Executado o código, o ambiente inteiro sobe sem intervenção manual — e sobe igual na próxima execução.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"IaC provisiona rede, balanceador e computação pelo mesmo código","citation":null,"trap_note":"O alcance da IaC é toda a infraestrutura, não apenas o servidor. Item que a limite a criar máquinas virtuais, deixando rede e balanceador para configuração manual, estreita o modelo indevidamente."}},{"id":"2369e69eaa24","number":105,"stem":6,"statement":"Apesar da automação do provisionamento da infraestrutura com a IaC, ainda é preciso fazer ajustes no gerenciamento de servidores e sistemas operacionais quando uma aplicação é criada ou implantada.","answer":"E","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"O propósito da IaC é que o provisionamento seja inteiro e repetível a partir do código: quando uma aplicação é criada ou implantada, servidores e sistema operacional já vêm configurados pela mesma execução, sem acerto manual a cada vez. Se ainda fosse preciso ajustar máquina à mão, o ambiente deixaria de ser reproduzível — e reprodutibilidade é o que o modelo entrega.","distortion_type":"inversao","distorted_span":"ainda é preciso fazer ajustes no gerenciamento de servidores e sistemas operacionais","corrected_statement":"Com a automação do provisionamento da infraestrutura com a IaC, não é preciso fazer ajustes manuais no gerenciamento de servidores e sistemas operacionais quando uma aplicação é criada ou implantada.","concept":"IaC dispensa o ajuste manual a cada implantação","citation":null,"trap_note":"Expressões como ainda é preciso, apesar de e mesmo assim costumam introduzir uma sobra manual que o modelo justamente automatiza. Confira se o trabalho residual descrito não é aquilo que a tecnologia existe para eliminar."}},{"id":"d7f50c32e9c8","number":108,"stem":6,"statement":"IaC refere-se ao gerenciamento e provisionamento da infraestrutura por meio de códigos, em vez de processos manuais, e o controle de versão é uma parte importante desse gerenciamento.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"São duas afirmações, ambas verdadeiras: IaC é gerenciar e provisionar infraestrutura por código, em vez de processos manuais; e, sendo código, ele vive sob controle de versão. O versionamento não é acessório do modelo — é o que dá histórico, revisão por pares e retorno a um estado anterior conhecido.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"controle de versão é parte do modelo de IaC","citation":null,"trap_note":"Sempre que o item associar IaC a versionamento, revisão, histórico ou reversão, tende a estar certo. O erro aparece do outro lado: quando o item trata o arquivo de infraestrutura como documentação avulsa, fora do repositório."}},{"id":"daef10ca1e20","number":145,"stem":7,"statement":"A escolha de uma solução de IaC com abordagem declarativa traz como principal desvantagem a necessidade de se ter um administrador qualificado para configurar e gerenciar a solução.","answer":"C","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"Na abordagem declarativa você descreve o estado final e entrega o caminho à ferramenta — o que só funciona se alguém dominar o modelo dela: a linguagem própria, o arquivo de estado, o comportamento de cada provedor e o que ela decide fazer quando o plano diverge da realidade. A dificuldade não desaparece com a automação: sai do comando manual e vira conhecimento especializado da solução. É por isso que a exigência de um administrador qualificado para configurar e gerenciar a solução é apontada como a principal desvantagem.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"custo do modelo declarativo: especialização na ferramenta","citation":null,"trap_note":"Item de vantagem e desvantagem não se resolve por lista decorada: pergunte para onde o modelo empurra o esforço. O declarativo tira o esforço do passo a passo e o concentra em quem entende a ferramenta."}},{"id":"bb41d355a993","number":146,"stem":7,"statement":"O principal objetivo de se escolher automatizar a infraestrutura por meio de IaC é implantar uma infraestrutura mutável, dinâmica.","answer":"E","source":{"slug":"SEFIN_FORTALEZA_CE_23","ano":2023},"explanation":{"verdict_reason":"A IaC persegue o oposto: infraestrutura imutável e reproduzível. O servidor não é ajustado no lugar; quando precisa mudar, muda-se o código e cria-se um ambiente novo a partir dele, que substitui o antigo. É assim que se elimina o servidor único, remendado à mão ao longo de anos, que ninguém sabe recriar depois de uma falha.","distortion_type":"inversao","distorted_span":"implantar uma infraestrutura mutável, dinâmica","corrected_statement":"O principal objetivo de se escolher automatizar a infraestrutura por meio de IaC é implantar uma infraestrutura imutável, reproduzível.","concept":"infraestrutura imutável é o objetivo da IaC","citation":null,"trap_note":"Imutável × mutável decide boa parte dos itens de IaC. Mutável descreve a administração manual, com alterações acumuladas no servidor — exatamente o que o modelo veio substituir."}},{"id":"78d3511ecc29","number":96,"stem":8,"statement":"Infraestrutura como código (IaC) é o processo de gerenciamento e provisionamento de data centers de computador, por meio de arquivos de definição legíveis por máquina, ao invés de configuração de hardware físico ou ferramentas de configuração interativas.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"É a definição consagrada, quase palavra por palavra: gerenciar e provisionar data centers por arquivos de definição legíveis por máquina, em lugar de configurar hardware físico ou usar ferramentas interativas de configuração. Legível por máquina é o ponto — o arquivo é executável e versionável, e daí vem a reprodutibilidade do ambiente.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"definição clássica de IaC, por oposição à configuração interativa","citation":null,"trap_note":"Essa definição cai repetida com pequenas trocas. Os alvos preferidos da banca são a expressão legíveis por máquina e o contraste com ferramentas de configuração interativas: mexer em um deles é o que transforma o item em errado."}}]}