Questão de Arquitetura de Software — Arquitetura de Software — CESPE / CEBRASPE 2025
Arquitetura de Software›Arquitetura de Software
Código
ce196312
Banca
CESPE / CEBRASPE
Órgão
CAESB-DF
Ano
2025
Nível
Superior
Cargo
Analista de Suporte ao Negócio - Analista de Sistemas
A respeito da arquitetura cloud native, de técnicas de componentização de software e da arquitetura orientada a serviços (SOA), assinale a opção correta.
ANa arquitetura cloud native, os aplicativos são divididos em serviços pequenos fracamente acoplados que se comunicam entre si.
BNo desenvolvimento de serviços, o projeto de mensagem tem como objetivo a definição das operações, entradas, saídas e exceções associadas às operações.
CUm serviço é um componente de software reutilizável e de alto acoplamento que encapsula funcionalidades acessíveis e distribuídas por programas.
DNa arquitetura cloud native, os aplicativos podem ser dimensionados horizontalmente, aumentando o tamanho das máquinas virtuais.
EO uso de componentes exige necessariamente a implementação de interface e o conhecimento do código-fonte para referenciá-lo diretamente em um programa.
Revelar gabarito e comentário▾
GabaritoA — Na arquitetura cloud native, os aplicativos são divididos em serviços pequenos fracamente acoplados que se comunicam entre si.
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”.
Arquitetura Cloud Native, Componentização e SOA
Gabarito: letra A. A alternativa descreve corretamente o princípio fundamental da arquitetura cloud native: aplicações divididas em serviços pequenos e fracamente acoplados que se comunicam por meio de APIs, característica típica de microsserviços. As demais alternativas trazem erros conceituais, trocando termos ou invertendo definições.
A banca testa o conhecimento sobre os pilares de cloud native e SOA, especialmente o conceito de acoplamento e formas de escalabilidade. É essencial dominar as diferenças entre fracamente acoplado (desejável) e alto acoplamento (indesejável), e entre escalabilidade horizontal (mais instâncias) e vertical (mais recursos em uma instância).
Alternativa A — ✅ Correta ⟵ GABARITO
Afirma que, na arquitetura cloud native, os aplicativos são divididos em serviços pequenos fracamente acoplados que se comunicam entre si. Isso corresponde exatamente ao estilo de microsserviços, uma abordagem central em cloud native. Os serviços são independentes, cada um com seu próprio domínio, e a comunicação ocorre via protocolos leves (HTTP/REST, mensageria). O baixo acoplamento permite evolução e escalabilidade independentes.
Alternativa B — ❌ Incorreta
Diz que o projeto de mensagem tem como objetivo definir operações, entradas, saídas e exceções. Na verdade, o projeto de mensagem (ou message design) foca na estrutura do conteúdo da mensagem (formato, campos, tipos), enquanto a definição de operações, entradas, saídas e exceções é tarefa do projeto de interface do serviço (como em WSDL no SOAP). A banca confunde os dois conceitos.
Alternativa C — ❌ Incorreta
Afirma que um serviço é um componente de software reutilizável e de alto acoplamento. Em SOA e microsserviços, o princípio é justamente o oposto: os serviços devem ser fracamente acoplados para permitir independência e reuso. O alto acoplamento tornaria o sistema rígido e de difícil manutenção. A alternativa troca o termo "fracamente" por "alto", invertendo o conceito.
Alternativa D — ❌ Incorreta
Diz que, na arquitetura cloud native, os aplicativos podem ser dimensionados horizontalmente aumentando o tamanho das máquinas virtuais. A escalabilidade horizontal consiste em adicionar mais instâncias (máquinas virtuais ou contêineres), não em aumentar os recursos de uma única máquina (escalabilidade vertical). A alternativa confunde os dois tipos de escalabilidade.
Alternativa E — ❌ Incorreta
Afirma que o uso de componentes exige necessariamente conhecimento do código-fonte para referenciá-lo diretamente. Na verdade, componentes são projetados para serem utilizados como caixas pretas: a interação ocorre por meio de interfaces bem definidas, sem necessidade de conhecer a implementação interna. A alternativa está parcialmente correta ao mencionar interface, mas erra ao exigir conhecimento do código-fonte.
NÃO CAIA NESSA!
A banca explora a troca de termos opostos: "alto acoplamento" quando o correto é "baixo acoplamento" (C) e "aumentar o tamanho das VMs" quando o correto é "adicionar novas instâncias" (D). Esses são distratores clássicos para quem confunde os conceitos. Na hora da prova, desconfie sempre que aparecer "alto acoplamento" associado a serviços.