Pular para o conteúdo principal

Questão de Engenharia de Software — Geral — INSTITUTO AOCP 2023

Engenharia de SoftwareGeral
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.

  1. AApenas I.
  2. BApenas II.
  3. CApenas III.
  4. DApenas IV.
  5. 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.

1Containers × VMs
Compartilham kernel do host
Mais leves e rápidos
2Imagem de container
Imutável
Código, bibliotecas, variáveis, config
3Dockerfile
Script para criar imagem de container
4Orquestração
Necessária em escala
Ex.: Kubernetes
Conteinerização
LEVELsoulevel.com.br
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.

Gabarito: letra E

Link permanente: /questoes/qa542752