Questão de Engenharia de Software — Geral — INSTITUTO AOCP 2023
Engenharia de Software›Geral
Código
qa542752
Banca
INSTITUTO AOCP
Órgão
CODEBA
Ano
2023
Cargo
Ana Por ( )
A conteinerização de aplicações tornou-se uma prática padrão em muitas organizações de TI devido a sua capacidade de encapsular uma aplicação e suas dependências em um container, proporcionando portabilidade e consistência entre os ambientes. Considerando as seguintes afirmações sobre conteinerização, assinale a alternativa que aponta a INCORRETA.
I. Containers são similares a máquinas virtuais (VMs), mas não possuem sistemas operacionais completos, o que os torna mais leves.
II. Uma imagem de container é uma entidade imutável que contém o código da aplicação, bibliotecas, variáveis de ambiente e arquivos de configuração.
III. Conteinerização elimina completamente a necessidade de orquestração, já que os containers são autogerenciáveis em qualquer escala.
IV. Containers são isolados uns dos outros, o que permite que executem de forma consistente em diferentes ambientes, como desenvolvimento, teste e produção.
V. O Dockerfile é um script utilizado para criar imagens de VM, detalhando as dependências e instruções de compilação.
AApenas I.
BApenas II.
CApenas III.
DApenas IV.
EApenas V.
Revelar gabarito e comentário▾
GabaritoE — Apenas V.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Conteinerização: conceitos fundamentais
Gabarito: letra E. A afirmação incorreta é a V, pois o Dockerfile é um script utilizado para criar imagens de container, e não imagens de VM (máquina virtual). As demais afirmações (I, II, III e IV) estão corretas, descrevendo adequadamente as características da conteinerização.
A conteinerização é uma tecnologia que permite empacotar uma aplicação e todas as suas dependências em um container, que é uma unidade leve e portável. Diferentemente das máquinas virtuais, que virtualizam o hardware e incluem um sistema operacional completo, os containers compartilham o kernel do sistema operacional do host, o que os torna mais leves e eficientes. Essa distinção é fundamental para entender a questão.
Uma imagem de container é um artefato imutável que contém tudo o que a aplicação precisa para executar: código, bibliotecas, variáveis de ambiente e arquivos de configuração. A partir de uma imagem, são criados os containers, que são instâncias executáveis. O Dockerfile é um arquivo de texto com instruções para construir essa imagem, definindo a base, as dependências e os comandos necessários.
Apesar de os containers serem isolados entre si, eles não são autogerenciáveis em qualquer escala. Para gerenciar múltiplos containers, especialmente em ambientes de produção, é necessária uma ferramenta de orquestração, como o Kubernetes, que automatiza a implantação, o escalonamento e a operação dos containers. A afirmação III, que diz que a conteinerização elimina completamente a necessidade de orquestração, é incorreta.
A pegadinha da questão está na afirmação V, que confunde o Dockerfile com um script para criar imagens de VM. O Dockerfile é específico para containers, e essa troca de conceito é o erro que a banca explora.
Conteinerização: Containers × VMs (Compartilham kernel do host, Mais leves e rápidos); Imagem de container (Imutável, Código, bibliotecas, variáveis, config); Dockerfile (Script para criar imagem de container); Orquestração (Necessária em escala, Ex.: Kubernetes)
Item I — ✅ Correto
A afirmação está correta. Containers são similares a VMs, mas não possuem sistemas operacionais completos, pois compartilham o kernel do host. Isso os torna mais leves e rápidos de iniciar.
Item II — ✅ Correto
A afirmação está correta. Uma imagem de container é imutável e contém o código da aplicação, bibliotecas, variáveis de ambiente e arquivos de configuração, garantindo consistência entre ambientes.
Item III — ❌ Incorreto
A afirmação está incorreta. A conteinerização não elimina a necessidade de orquestração. Em escala, é essencial usar ferramentas como Kubernetes para gerenciar, escalar e operar os containers automaticamente.
Item IV — ✅ Correto
A afirmação está correta. Containers são isolados uns dos outros, o que permite que executem de forma consistente em diferentes ambientes, como desenvolvimento, teste e produção.
Item V — ❌ Incorreto ⟵ GABARITO
A afirmação está incorreta. O Dockerfile é um script utilizado para criar imagens de container, não imagens de VM. Ele detalha as dependências e instruções de compilação para construir a imagem do container.
Conclusão: A única afirmação incorreta é a V, portanto a alternativa correta é a letra E.