

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Qual é o impacto da adoção da arquitetura de microsserviços na relação entre arquitetura backend e frontend, juntamente com a arquitetura de API, dentro da Engenharia de Software moderna?
A arquitetura de microsserviços centraliza todas as funcionalidades tanto do backend quanto do frontend, reduzindo a necessidade de arquitetura de API.
Sob a influência da arquitetura de microsserviços, a arquitetura de API se torna obsoleta, pois não há mais necessidade de comunicação entre os diferentes componentes do sistema.
Com a arquitetura de microsserviços, o frontend torna-se responsável por toda a lógica de negócios, enquanto o backend foca apenas no armazenamento de dados, eliminando a necessidade de uma arquitetura de API.
A arquitetura de microsserviços incentiva a separação clara entre backend e frontend, com o backend responsável pela lógica de negócios e processamento de dados, enquanto o frontend cuida da interface do usuário. A arquitetura de API é essencial para a comunicação entre essas camadas.
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?
Utilizar um monolito com um único ponto de acesso para todas as funcionalidades.
Implementar uma arquitetura de microsserviços com APIs dedicadas para cada funcionalidade.
Adotar Backend as a Service (BaaS) sem personalizações adicionais.
Manter todas as operações de back-end e front-end no mesmo servidor para simplificar a arquitetura.
Em uma arquitetura de microserviços, assinale a alternativa que apresenta o que a abordagem de "Circuit Breaker" visa solucionar.
Reduz a latência das comunicações entre microserviços em redes com alta carga
Monitora e reconfigura automaticamente o balanceamento de carga de acordo com a demanda dos serviços
Previne que falhas em um serviço propaguem e causem falhas em cascata em toda a arquitetura, interrompendo as chamadas quando um serviço estiver sobrecarregado ou fora do ar
Realiza backups automáticos e em tempo real das transações realizadas entre microserviços
A funcionalidade de front-end do Power BI é fornecida por microsserviços em execução em computadores diferentes, dentro da rede virtual do cluster, os quais não são acessíveis externamente, exceto por meio do serviço de gateway e da API Azure.
Certo
Errado
A arquitetura de software é importante, pois ela é responsável pelo desempenho, a robustez e a capacidade de distribuição e manutenção de um sistema. Selecione a arquitetura que usa uma abordagem para criar um aplicativo para servidores como um conjunto de serviços pequenos.
Extreme Programming
Microserviços
Monolítica
TCP/IP
Ethernet
A arquitetura de microsserviços
é uma estrutura em que um aplicativo é separado em serviços menores e cada um desses serviços pode executar um processo exclusivo e, ainda, gerenciar seu próprio banco de dados.
é um estilo arquitetônico em que todos os componentes fazem parte de uma única unidade, sendo todos desenvolvidos e implantados em conjunto para que formem barramentos de serviços.
é uma estrutura que não necessita de clientes, pois os aplicativos se conectam à estrutura por meio de application programming interface (API) aos barramentos de serviços.
possui como vantagem a alta disponibilidade, pois o barramento de serviços une todos os componentes, tornando-os uma única unidade, contudo, os aplicativos executados nessa arquitetura são menos eficientes, no que se refere à velocidade, do que a monolítica.
é formada por componentes, acessados por meio de mensagens, que podem ser desenvolvidos separadamente, contudo, por serem stateless, ao serem reimplantados, ou se houver a necessidade de alteração de um serviço na arquitetura, é cogente reimplantar um aplicativo inteiro.
Microsserviços não é um conceito exato; trata-se de uma forma de projetar uma aplicação de modo a dividir o código completo em divisões menores e serviços. Não há uma definição exata de microsserviços; no entanto, quase todos têm as mesmas características. Trata-se da principal característica dos microsserviços:
Utilização de uma única base de dados.
Sistema projetado para ter uma evolução contínua ao longo do tempo de vida do produto.
Divisão do sistema em serviços menores em que cada serviço é insubstituível, atualizável e dependente uns dos outros.
Criação de equipes bem definidas que se dedicam apenas ao trabalho em uma área como, por exemplo, uma equipe para tratar da base de dados.
Assinale a alternativa que não corresponde a uma diretriz do desenvolvimento de software baseado na arquitetura de microsserviços.
Serviços devem ser implantáveis (deployable) de forma independente.
Serviços devem ser organizados ao redor de capacidades de negócio.
Deve-se utilizar um banco de dados relacional único para todos os serviços que compõem a aplicação.
Deve haver baixo acoplamento entre serviços.
Pode-se utilizar linguagens de programação distintas para implementar serviços diferentes, ainda que componham a mesma aplicação.
Assinale a opção que representa uma desvantagem da arquitetura de microsserviços em relação a arquitetura monolítica.
Modularidade e reuso.
Flexibilidade tecnológica.
Escalabilidade.
Resiliência e tolerância a falhas.
Comunicação e latência.
Acerca da arquitetura hexagonal (hexagonal architecture) e considerando o contexto de microsserviços, assinale a alternativa correta.
Ao invés da camada de apresentação, a aplicação possui um ou mais adaptadores outbound que lida(m) com solicitações externas ao invocar a lógica de negócios. Similarmente, ao invés de uma camada de persistência de dados, a aplicação tem um ou mais adaptadores inbound.
A lógica de negócios depende diretamente dos adaptadores, garantindo um forte acoplamento entre eles, melhorando a qualidade do código.
Não é permitido que a lógica de negócios seja invocada por múltiplos adaptadores, limitando a flexibilidade da aplicação.
Uma das principais características é o desacoplamento da lógica de negócios da lógica de apresentação, como também o desacoplamento da lógica de acesso a dados nos adaptadores, facilitando o teste da lógica de negócios de forma isolada.
A arquitetura é exclusiva para aplicações monolíticas e não é adequada para descrever a arquitetura de cada serviço em uma arquitetura de microsserviços.
Sistemas de grandes empresas, como a Amazon ou o Facebook, dificilmente ficam fora do ar em sua totalidade. Normalmente, as falhas ficam restritas a partes desses sistemas. Por exemplo, o chat do Facebook pode sair do ar, mas isso não compromete o funcionamento de outros módulos da rede social, como o feed de notícias. Isso se deve principalmente à arquitetura adotada na implementação desses sistemas.
Assinale o modelo arquitetural responsável por trazer essa robustez aos sistemas.
Microsserviços
Model-View Controller
Arquitetura em Camadas
Publish/Subscribe
O Spring Cloud Netflix Eureka, em uma arquitetura de microsserviços,
fornece uma maneira padronizada de descrever as funcionalidades de uma API da web ou de um microsserviço.
permite que os serviços se registrem em um servidor de descoberta e descubram uns aos outros usando nomes lógicos em vez de endereços IP fixos.
é responsável pela execução de operações de negócios nos microsserviços.
permite que as solicitações de clientes sejam encaminhadas para os microsserviços apropriados com base em critérios, como roteamento, filtragem, autenticação e autorização.
permite armazenar e recuperar as configurações dos serviços em um repositório central, como Git ou Subversion.
Com relação aos mecanismos de troca de mensagens utilizados em microsserviços, considere:
I. Em arquiteturas em cloud, os message brokers são um mecanismo usado pelos microsserviços para criar um backbone de comunicações compartilhadas.
II. As APIs REST utilizam normalmente o padrão CORBA para se comunicar e são comumente usadas para comunicações entre microsserviços.
III. Os message brokers não permitem comunicações assíncronas entre os serviços, fazendo com que o serviço de envio tenha que esperar pela resposta do serviço de recebimento antes de um novo envio.
IV. Os message brokers oferecem apenas o padrão de distribuição de mensagens ponto a ponto, utilizado em filas de mensagens com relacionamento um-para-um entre o remetente e o destinatário da mensagem.
Está correto o que se afirma APENAS em
I e II.
II e IV.
III e IV.
III.
I.
O Spring Eureka é uma implementação do padrão de registro de serviços que permite que os microsserviços se registrem automaticamente e se descubram uns aos outros. A porta padrão em que o servidor Eureka irá executar na aplicação Spring Boot e o arquivo em que essa porta é configurada são, respectivamente,
80 e eureka-server.xml
15000 e application-server.yml
8080 e pom.xml
8005 e eureca-registry.xml
8761 e application.properties
Assinale a alternativa que descreve corretamente características de arquiteturas de sistemas baseados em microsserviços.
Um mesmo microsserviço normalmente é responsável por várias tarefas, como prover uma interface para o usuário e também atualizar dados em um banco relacional.
Quando um microsserviço falha, todo o sistema interrompe sua operação de forma razoavelmente simultânea, preservando a integridade dos dados.
A arquitetura é adequada para uso com bases de dados relacionais e operações sequenciais, mas pouco adequada para cenários com elevado paralelismo, como plataformas de computação em nuvem.
A escalabilidade e a manutenibilidade do sistema são limitadas pelo grande número de microsserviços que o compõem.
Os microsserviços são independentes, podendo ser implementados usando-se diferentes tecnologias, tais como diferentes linguagens de programação ou frameworks.
Microsserviços são uma abordagem arquitetônica que compõe o software em pequenos componentes ou serviços independentes, de forma que, no desenvolvimento e nas modificações do código, podem ser implantados serviços específicos de forma independente.
Certo
Errado
Microsserviços é uma maneira de se desenvolver uma aplicação facilmente escalável, desacoplada e independente; e cada serviço pode ser escrito em uma linguagem de programação diferente.
Certo
Errado
Na arquitetura baseada em microsserviços, a aplicação é estruturada em um único componente para implantação, e a troca de informações entre os módulos internos do sistema ocorre dentro de um mesmo processo, o que torna a comunicação rápida e eficiente.
Certo
Errado
O estilo arquitetural de software no qual uma aplicação é autocontida e independente de outras aplicações, sendo implantada como um componente único, é classificado como
interativo.
cliente-servidor.
relacional.
microsserviço.
monolítico.
Os microsserviços são módulos implantados e monitorados de forma independente, os quais são combinados, em uma coleção desacoplada, por aplicativos baseados nesses microsserviços.
Certo
Errado