[Questão inédita] Um programador e um profissional de DevOp...

Próximas questões
Com base no mesmo assunto
Q2486326 Engenharia de Software
[Questão inédita] Um programador e um profissional de DevOps precisam definir a arquitetura de uma nova aplicação que estão prestes a desenvolver. A empresa estima que milhões de usuários usarão essa ferramenta simultaneamente e que, sazonalmente, ocorrerão picos de utilização do sistema em datas estratégicas, como festividades. Além disso, é necessário um servidor dedicado ao monitoramento de dados. Analisando os requisitos da demanda, a arquitetura mais adequada para melhor atender seria:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Para melhor entender, vamos analisar cada uma das arquiteturas citadas: • Microservices: Permite a divisão da aplicação em componentes independentes e escaláveis, o que pode ser vantajoso para lidar com picos de tráfego. No entanto, sua implementação e gerenciamento podem ser complexos para esta situação. • Serverless: Esta abordagem permite que a aplicação seja executada em ambientes sem a necessidade de gerenciamento de servidores, o que pode ser benéfico para lidar com grandes volumes de tráfego de forma escalável. Entretanto, a empresa necessita de um servidor dedicado, por isso esta arquitetura não é a mais adequada. • Monolithic: Uma arquitetura monolítica pode ter dificuldades em lidar com picos de tráfego e pode ser menos escalável do que outras abordagens mais modernas. • Cloud Computing: Essa infraestrutura permite elasticidade rápida e alta disponibilidade, o que pode ser muito vantajoso para lidar com picos de tráfego em sistemas de grande movimentação. Essa é a resposta da questão. • Edge Computing: Embora o edge computing possa ser útil para otimizar o desempenho e reduzir a latência em determinados casos, pode não ser a melhor opção para lidar com milhões de usuários simultâneos durante picos de tráfego. GABARITO: D

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

por que não microserviços?

todas as opcoes, com excecao do monolithic, podem ser adaptadas para o cenario descrito. o que se procura nessa situação é fazer um offloading do trafego em periodos de alta demanda, obtendo latencia rduzida e uma rede escalavel.o que pode ser por serverless computing e edge computing, alem de CDN (content-delivery network)

microservices sao especificamenete feitos com isso em mente, podendo ter deploy deles e rollback quando precisar

Serverless nesse caso não seria superior ao Cloud Computing ?

Cloud Computing é a Computação em Nuvem de forma generalizada... Serveless é a computação em nuvem voltada para a área de desenvolvimento... Gabarito errado, questão deve ser anulada pois no caso quanto Serverless e Cloud Computing são respostas corretas

Para atender aos requisitos da demanda, a arquitetura mais adequada seria a arquitetura de **Microservices**.

Aqui estão as razões:

1. **Escalabilidade**: Microservices permitem escalar individualmente diferentes partes da aplicação com base na demanda. Isso é ideal para lidar com milhões de usuários e picos sazonais, já que você pode escalar apenas os serviços que necessitam de mais recursos durante os períodos de alta demanda.

2. **Flexibilidade**: Com microservices, diferentes equipes podem trabalhar em diferentes partes do sistema de forma independente, o que pode acelerar o desenvolvimento e a implementação de novas funcionalidades.

3. **Resiliência**: A falha em um microservice não afeta necessariamente os outros serviços, aumentando a resiliência da aplicação como um todo.

4. **Monitoramento**: Microservices podem ser facilmente integrados com ferramentas de monitoramento, o que é crucial para o servidor dedicado ao monitoramento de dados.

Outras opções são menos adequadas para os requisitos mencionados:

- **Serverless**: É excelente para eventos e cargas imprevisíveis, mas pode não ser ideal para sistemas complexos e com necessidade de alto controle e monitoramento contínuo.

- **Monolithic**: Pode ser mais simples no início, mas dificulta a escalabilidade e manutenção em sistemas de larga escala.

- **Cloud Computing**: Embora seja um bom complemento, por si só não define a estrutura da aplicação. Microservices podem ser implementados na nuvem.

- **Edge Computing**: Focado em processamento de dados próximo à fonte de dados, o que não parece ser o foco principal desta aplicação.

Portanto, a arquitetura de **Microservices** é a mais adequada para atender os requisitos de alta escalabilidade, flexibilidade e resiliência descritos.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo