Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura de Software — Instituto Consulplan 2024

Arquitetura de SoftwareArquitetura de Software
Código
qg291940
Banca
Instituto Consulplan
Órgão
Câmara de Belo Horizonte - MG
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Área de Infraestrutura de Sistema
Em um contexto avançado de desenvolvimento, como a harmonização estratégica entre a Computação em Nuvem, as metodologias DevOps e as abordagens modernas de infraestrutura podem ser aprimoradas para otimizar a eficiência operacional e o ciclo de vida de software?
  1. AUtilizando apenas armazenamento S3 para simplificar o gerenciamento de dados.
  2. BPriorizando exclusivamente block storage para garantir alta disponibilidade de dados.
  3. CIgnorando CI/CD, já que Infraestrutura como Código (IaC) é suficiente para automação.
  4. DAdotando contêineres Docker para facilitar implantação e escalabilidade de aplicações.
Revelar gabarito e comentário

GabaritoD — Adotando contêineres Docker para facilitar implantação e escalabilidade de aplicações.

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”.

Aprimoramento da eficiência operacional com Cloud, DevOps e infraestrutura moderna

Gabarito: letra D. A adoção de contêineres Docker é a prática que melhor se alinha à harmonização estratégica entre Computação em Nuvem, DevOps e metodologias modernas de infraestrutura, pois permite implantação consistente, escalabilidade horizontal e integração fluida com pipelines de CI/CD, otimizando o ciclo de vida do software. As demais alternativas apresentam visões incompletas ou equivocadas sobre as tecnologias envolvidas.

A questão testa a compreensão de como diferentes componentes da cadeia DevOps e da infraestrutura em nuvem podem ser conjugados para ganhos operacionais. O foco está em identificar a abordagem que efetivamente contribui para a automação, a padronização e a escalabilidade – elementos centrais na cultura DevOps.

Alternativa A — ❌ Incorreta

Utilizar apenas armazenamento S3 (object storage) para gerenciamento de dados é restritivo demais. Em uma arquitetura moderna, diferentes tipos de armazenamento são necessários: block storage para bancos de dados, file storage para sistemas legados, e object storage para arquivos imutáveis. S3 é uma peça, não a solução completa. A simplificação exagerada compromete a eficiência operacional.

Alternativa B — ❌ Incorreta

Priorizar exclusivamente block storage ignora cenários onde object storage (como S3) ou file storage são mais adequados. Além disso, a alta disponibilidade não é garantida apenas pelo tipo de armazenamento; depende de replicação, distribuição geográfica e estratégias de backup. A exclusividade fere o princípio de usar a ferramenta certa para cada necessidade.

Alternativa C — ❌ Incorreta

Ignorar CI/CD por considerar que Infraestrutura como Código (IaC) é suficiente é um erro grave. IaC automatiza a provisionamento e configuração da infraestrutura, mas não cobre a construção, teste e implantação contínua do código da aplicação. CI/CD e IaC são complementares – juntos formam a base da automação DevOps. Dispensar CI/CD compromete a entrega contínua e a qualidade.

NÃO CAIA NESSA!

A banca explora a confusão comum entre IaC e CI/CD. IaC (ex.: Terraform, CloudFormation) gerencia infraestrutura; CI/CD (ex.: Jenkins, GitHub Actions) gerencia o pipeline de software. Um não substitui o outro – na verdade, um pipeline CI/CD pode invocar IaC para preparar ambientes.

Alternativa D — ✅ Correta ⟵ GABARITO

Adotar contêineres Docker é a resposta alinhada ao contexto. Os contêineres empacotam a aplicação com todas as dependências, garantindo consistência entre ambientes (desenvolvimento, teste, produção). Eles facilitam a implantação rápida, a escalabilidade horizontal (orquestração com Kubernetes) e a integração com pipelines CI/CD. Como mencionado no material de apoio, "Container: empacota uma aplicação e todas as suas dependências em um container leve e independente do sistema operacional", o que viabiliza um ciclo de vida mais eficiente e portável entre nuvens.

Gabarito: letra D.

Link permanente: /questoes/qg291940