[Questão inédita] Um programador e um profissional de DevOp...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
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