Prévia do material em texto
Engenharia de Software para Sistemas em Nuvem 1. Qual dos seguintes princípios é fundamental na engenharia de software para sistemas em nuvem? A) Armazenamento local de dados. B) Escalabilidade horizontal. C) Dependência de hardware específico. D) Desenvolvimento de software monolítico. Resposta Correta: B. A escalabilidade horizontal é crucial na engenharia de software para sistemas em nuvem, pois permite que os serviços sejam aumentados ou diminuídos com base na demanda. Em vez de depender de um único servidor para gerenciar o aumento da carga, os sistemas em nuvem podem distribuir o trabalho entre múltiplos servidores, adicionando ou removendo recursos conforme necessário. Isso garante que o sistema mantenha seu desempenho e disponibilidade, mesmo em picos de uso, otimizando custos e recursos. 2. Quais dos seguintes desafios são comuns na engenharia de software para sistemas em nuvem? A) Baixa latência em todas as operações. B) Interoperabilidade entre serviços de diferentes provedores. C) Necessidade de ambientes de desenvolvimento locais. D) Redução de complexidade em sistemas. Resposta Correta: B. A interoperabilidade entre serviços de diferentes provedores é um desafio significativo na engenharia de software para sistemas em nuvem. Com a variedade de serviços e APIs disponíveis, é crucial que os sistemas consigam se comunicar e integrar adequadamente, independentemente do provedor de nuvem. Isso requer o uso de padrões abertos e boas práticas de design de API para garantir que as diferentes partes do sistema possam funcionar juntas de forma eficiente. Falhas nessa interoperabilidade podem resultar em custos adicionais, lentidão e problemas de manutenção. 3. Qual é a principal vantagem de usar arquitetura de microserviços em sistemas em nuvem? A) Complexidade reduzida na implementação. af://n4513 B) Melhoria na escalabilidade e na manutenção. C) Necessidade de menos testes. D) Desenvolvimento linear e sequencial. Resposta Correta: B. A arquitetura de microserviços oferece a principal vantagem de melhorar a escalabilidade e a manutenção dos sistemas em nuvem. Em vez de um único aplicativo monolítico, os microserviços permitem que as funcionalidades sejam divididas em serviços independentes que podem ser desenvolvidos, testados e escalados de forma isolada. Isso facilita a identificação e correção de problemas, já que cada serviço pode ser gerenciado e atualizado independentemente, além de permitir que a equipe trabalhe em diferentes partes do sistema simultaneamente, aumentando a agilidade no desenvolvimento. 4. Como a segurança é abordada na engenharia de software para sistemas em nuvem? A) A segurança é uma preocupação exclusiva dos provedores de nuvem. B) Medidas de segurança devem ser implementadas apenas na camada de aplicação. C) A segurança deve ser uma responsabilidade compartilhada entre o provedor de nuvem e o cliente. D) Sistemas em nuvem não requerem práticas de segurança rigorosas. Resposta Correta: C. Na engenharia de software para sistemas em nuvem, a segurança deve ser uma responsabilidade compartilhada entre o provedor de nuvem e o cliente, frequentemente referida como "modelo de responsabilidade compartilhada". O provedor é responsável pela segurança da infraestrutura subjacente, enquanto o cliente é responsável pela segurança de suas aplicações e dados. Isso inclui a implementação de controles de acesso, criptografia e monitoramento de atividades. Essa abordagem colaborativa é essencial para garantir que todas as camadas do sistema sejam protegidas contra ameaças e vulnerabilidades. 5. Qual é um dos principais benefícios da utilização de DevOps em engenharia de software para sistemas em nuvem? A) Aumento do número de ambientes de desenvolvimento. B) Redução do tempo de lançamento de novos recursos. C) Eliminação de testes automatizados. D) Foco exclusivo em desenvolvimento de software. Resposta Correta: B. A utilização de DevOps na engenharia de software para sistemas em nuvem proporciona uma significativa redução do tempo de lançamento de novos recursos. A cultura DevOps integra desenvolvimento e operações, promovendo uma colaboração mais próxima entre as equipes e a automação de processos, como integração contínua e entrega contínua (CI/CD). Isso permite que novos recursos sejam desenvolvidos, testados e lançados de forma mais rápida e eficiente, respondendo melhor às necessidades dos usuários e às mudanças do mercado. Além disso, essa abordagem minimiza o risco de falhas em produção, uma vez que os testes são realizados continuamente ao longo do ciclo de vida do software.