Questão de Arquitetura de Software — Arquitetura de Software — IV - UFG 2024
Arquitetura de Software›Arquitetura de Software
Código
qg269508
Banca
IV - UFG
Órgão
Prefeitura de Rio Branco - AC
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas - Especialização em Desenvolvimento Back-End
Leia o caso a seguir.Uma empresa de tecnologia está projetando uma nova aplicação web que exigirá escalabilidade e eficiência tanto no consumo quanto nas consultas ao banco de dados. A equipe de arquitetura está considerando utilizar uma arquitetura de microsserviços para otimizar a comunicação entre o front-end e o back-end.Elaborado pelo(a) autor(a).Qual é a conduta adequada para atender a tais requisitos mencionados no caso?
AUtilizar um monolito com um único ponto de acesso para todas as funcionalidades.
BImplementar uma arquitetura de microsserviços com APIs dedicadas para cada funcionalidade.
CAdotar Backend as a Service (BaaS) sem personalizações adicionais.
DManter todas as operações de back-end e front-end no mesmo servidor para simplificar a arquitetura.
Revelar gabarito e comentário▾
GabaritoB — Implementar uma arquitetura de microsserviços com APIs dedicadas para cada funcionalidade.
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 de Microsserviços vs Monolito
Gabarito: letra B. A arquitetura de microsserviços com APIs dedicadas para cada funcionalidade atende diretamente aos requisitos de escalabilidade e eficiência em consumo e consultas ao banco de dados, pois permite o desenvolvimento, implantação e escalonamento independentes de cada serviço, otimizando a comunicação entre front-end e back-end.
A banca testa o conhecimento sobre os benefícios da arquitetura de microsserviços em comparação com abordagens monolíticas ou menos flexíveis. A alternativa correta é a única que propõe uma estrutura descentralizada e com APIs específicas, alinhada aos requisitos modernos de sistemas web.
Alternativa A — ❌ Incorreta
Utilizar um monolito com um único ponto de acesso para todas as funcionalidades vai contra os requisitos de escalabilidade e eficiência: em um monolito, qualquer alteração exige a implantação completa do sistema, e o escalonamento é global, não permitindo otimizar recursos por funcionalidade. Além disso, o acoplamento tende a ser maior, dificultando a manutenção e a evolução.
Alternativa B — ✅ Correta ⟵ GABARITO
Implementar uma arquitetura de microsserviços com APIs dedicadas para cada funcionalidade é a conduta mais adequada. Cada microsserviço pode ser escalado individualmente conforme a demanda, utiliza APIs específicas para comunicação, reduz o acoplamento e permite que equipes diferentes trabalhem em paralelo, aumentando a eficiência no desenvolvimento e na operação.
Alternativa C — ❌ Incorreta
Adotar Backend as a Service (BaaS) sem personalizações adicionais pode ser uma solução rápida, mas geralmente não oferece o nível de personalização e otimização necessários para atender requisitos específicos de escalabilidade e eficiência em consultas complexas ao banco de dados. BaaS é mais indicado para aplicações simples ou prototipagem, não para um projeto que exige controle fino sobre a infraestrutura.
Alternativa D — ❌ Incorreta
Manter todas as operações de back-end e front-end no mesmo servidor é uma abordagem monolítica que não escala bem: o servidor se torna um gargalo único, e qualquer pico de demanda em uma funcionalidade afeta todo o sistema. Essa configuração também dificulta a otimização separada do consumo de recursos (CPU, memória, banco de dados).
PEGA ESSA DICA!
Em questões sobre arquitetura de software, associe diretamente "escalabilidade" e "eficiência" a soluções descentralizadas como microsserviços, enquanto "simplicidade" ou "custo" podem indicar monolito ou BaaS. Lembre-se de que microsserviços exigem APIs dedicadas e independência entre serviços para realmente entregar os benefícios.