

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.
Uma arquitetura de microsserviços é um dos tipos mais comuns de arquiteturas de sistemas. Constitui uma abordagem para criar um aplicativo para servidores como um conjunto de:
implantação de protocolos através de uma abordagem monolítica.
dimensionamento em vários servidores e VMs.
pequenos serviços independentes e autocontidos, com cada um implementando uma única funcionalidade.
terceirização de processos a máquinas virtuais a nuvem.
programas administrativos para melhor gerenciamento e acompanhamento macro do sistema a ser desenvolvido.
As arquiteturas Cloud Native são projetadas para se aproveitar ao máximo os benefícios da computação em nuvem. Sobre arquiteturas Cloud Native, analise as afirmativas a seguir.
I. As arquiteturas Cloud Native frequentemente utilizam contêineres, como o Docker, para empacotar e implantar aplicativos de forma leve e portátil, facilitando a escalabilidade e a manutenção.
II. Uma abordagem comum em arquiteturas Cloud Native é o uso de microsserviços, em que os aplicativos são divididos em componentes menores e dependentes um do outro, facilitando a implantação e a atualização contínua.
III. Para gerenciar e escalar contêineres de forma eficiente, as arquiteturas Cloud Native geralmente utilizam ferramentas de orquestração, que automatizam o processo de implantação e o gerenciamento de contêineres.
Estão corretas as afirmativas
I e II, apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
Um modelo arquitetônico que enfatiza a capacidade de compartilhar recursos de forma eficiente entre vários clientes enquanto mantém a segurança e a privacidade dos dados de cada cliente é denominado de
multitenancy.
integração de sistemas.
escalabilidade horizontal.
microsserviços.
Arquitetura de microsserviços é um estilo de arquitetura de software em que uma aplicação é dividida em uma série de serviços pequenos e independentes, cada um com uma função específica e executado de forma autônoma.
Assinale a opção que descreve corretamente um princípio fundamental da arquitetura de microsserviços.
Cada microsserviço deve ter seu próprio banco de dados para garantir a independência e escalabilidade dos serviços.
Todos os microsserviços devem compartilhar o mesmo banco de dados para garantir a consistência e facilitar a comunicação entre eles.
Os microsserviços devem ser desenvolvidos e implantados como uma única unidade para garantir a consistência do sistema.
Cada microsserviço deve ter uma dependência rígida em uma biblioteca de terceiros para garantir funcionalidades comuns em todos os serviços.
Microsserviços devem ser implementados em uma arquitetura monolítica para facilitar a comunicação entre os serviços.
O desenvolvimento em microsserviços é a evolução de uma aplicação monolítica, em que cada microsserviço executa uma função ou um recurso.
Certo
Errado
A respeito de arquitetura orientada a microsserviços, é correto afirmar que
microsserviços são unidades grandes de código que englobam múltiplas funcionalidades, agrupadas para facilitar a manutenção e a implementação de novas features.
cada microsserviço deve ter seu próprio banco de dados, permitindo a independência de desenvolvimento, implementação e escalabilidade, mas aumentando a complexidade da gestão de dados.
o padrão de comunicação mais comum entre microsserviços é o uso de Chamada de Procedimento Remoto (Remote Procedure Call – RPC) síncrona, que garante maior confiabilidade na comunicação entre serviços.
a arquitetura de microsserviços se caracteriza por serviços fortemente acoplados, o que permite a rápida integração de novas funcionalidades em um único deploy.
na arquitetura de microsserviços, a falha em um único serviço geralmente resulta na indisponibilidade de todo o sistema, devido à alta interdependência entre os serviços.
Ao se escolher a arquitetura de software para um projeto, é fundamental considerar os requisitos a serem priorizados.
A arquitetura de microsserviços, que uma evolução do estilo de arquitetura orientada a serviços (SOA), é mais indicada do que a arquitetura monolítica, quando a prioridade é otimizar
o tempo de resposta.
a simplicidade de desenvolvimento.
a testabilidade.
a disponibilidade.
a comunicação entre componentes.
Uma das premissas da arquitetura de microsserviços é que cada microsserviço seja independente, autônomo e autossuficiente.
Certo
Errado
O termo microsserviços refere-se a um estilo de arquitetura para criar aplicações, uma maneira de decompor aplicações monolíticas em componentes diferentes e independentes. Assinale a alternativa correta em relação à arquitetura de microsserviços.
Os microsserviços podem acelerar o desenvolvimento de sistemas ao permitir que pequenas equipes trabalhem de forma independente em funcionalidades específicas da aplicação
Devido a sua característica modular, um erro em um microsserviço pode afetar outros serviços, o que diminui consideravelmente a tolerância a falhas das aplicações que utilizam este tipo de arquitetura
Para garantir a compatibilidade entre os diferentes componentes de uma arquitetura de microsserviços, todos os componentes precisam ser escritos na mesma linguagem de programação
O microsserviços são aplicações independentes entre si, que possuem os seus próprios bancos de dados, o que elimina a necessidade de comunicação entre os diferentes serviços uma vez que todos possuem as informações necessárias para executar as suas operações
Sobre a arquitetura de microsserviços, assinale a alternativa que apresenta a ideia desta arquitetura.
Microsserviços são agrupados em um único serviço monolítico para garantir que todos os elementos de funcionalidade sejam gerenciados de forma centralizada e com menor sobrecarga
Microsserviços compartilham recursos e dependências para evitar redundância, garantindo que os serviços não sejam completamente autônomos ou independentes
A arquitetura de microsserviços se baseia na centralização de todos os elementos de funcionalidade em um serviço principal, com serviços adicionais subordinados a este serviço principal
Cada microsserviço é projetado para ser autônomo e independente, permitindo que funcione de forma isolada dos outros serviços, o que facilita a escalabilidade e a manutenção
Em relação às arquiteturas hexagonal e de microsserviços, considere as seguintes afirmações:
I. A arquitetura hexagonal, também chamada de Arquitetura de Portas e Adaptadores, visa separar a lógica de negócios das interfaces externas, permitindo uma fácil troca de implementações.
II. Microsserviços são pequenos serviços que compartilham o mesmo banco de dados, promovendo maior acoplamento entre os módulos da aplicação para garantir a consistência dos dados.
III. A arquitetura monolítica pode ser distribuída, mas requer que todos os módulos sejam implantados como um conjunto, ao contrário dos microsserviços, que permitem a implantação independente de cada módulo.
Está correto o que se afirma em
I, apenas.
II, apenas.
III, apenas.
I e II, apenas.
I e III, apenas.
Uma empresa de tecnologia está desenvolvendo uma nova aplicação que será baseada em microsserviços e distribuída em vários servidores na nuvem. Os líderes do projeto decidiram usar uma solução com orquestração de contêineres e precisam explicar como essa solução funciona para a equipe e para os clientes.
Considerando-se esse contexto, como descrever as funcionalidades que caracterizam as ferramentas de conteinerização e de orquestração?
Ferramentas de conteinerização, como Docker, são responsáveis por criar e empacotar aplicações e suas dependências em contêineres isolados, enquanto ferramentas de orquestração, como Kubernetes, gerenciam a distribuição, o escalonamento automático e a resiliência desses contêineres em um cluster de servidores.
Ferramentas de orquestração, como Docker, permitem criar e empacotar aplicações em contêineres isolados, enquanto ferramentas de conteinerização, como Kubernetes, gerenciam a distribuição e escalonamento desses contêineres em um ambiente de produção.
Ferramentas de conteinerização, como Kubernetes, são responsáveis por gerenciar a distribuição e escalonamento dos contêineres em um cluster, enquanto ferramentas de orquestração, como Podman, criam e empacotam as aplicações em contêineres isolados.
Ferramentas de orquestração, como Podman, criam e empacotam contêineres isolados, enquanto ferramentas de conteinerização, como Docker, gerenciam a escalabilidade e a resiliência dos contêineres em um ambiente distribuído.
Ferramentas de conteinerização, como Docker, são usadas para criar uma rede de contêineres interligados, enquanto ferramentas de orquestração, como Kubernetes, servem apenas para monitorar o desempenho dos contêineres em um cluster.
A Câmara Municipal está migrando seus sistemas monolíticos para uma arquitetura de microsserviços baseada em containers. Entre as opções a seguir, assinale a que melhor descreve a mudança no papel do gerenciamento de configuração (CM) nesse contexto:
O CM precisará gerenciar tanto a configuração do sistema operacional quanto a de cada container individualmente.
O CM se tornará desnecessário, já que os containers encapsulam todas as dependências e configuram automaticamente o ambiente de execução.
O CM se concentrará na configuração básica do sistema e na gestão de containers com ferramentas como Docker Compose e Kubernetes.
A equipe de desenvolvimento deve assumir a total responsabilidade pelo CM, definindo todas as configurações dos containers sem envolver a equipe de operações.
O CM passará a ser centralizado.
Acerca de microsserviços, avalie se as afirmativas a seguir são verdadeiras (V) ou falsas (F).
( ) A camada de orquestração é responsável por monitorar o desempenho dos microsserviços, identificar gargalos e gerenciar a execução dos microsserviços.
( ) O particionamento inteligente pode ser usado para categorizar microsserviços com base em seu uso e dependência de outros microsserviços, garantindo uma alocação eficiente de recursos.
( ) A orquestração de microsserviços se concentra principalmente no gerenciamento da implantação e execução de aplicativos monolíticos, em vez de microsserviços.
As afirmativas são, respectivamente,
V – V – F.
V – F – F.
F – V – F.
F – F – V.
V – V – V.
Sobre a implementação de comunicação assíncrona na arquitetura de microserviços, assinale a alternativa correta.
A comunicação assíncrona garante a entrega instantânea de mensagens entre serviços, independentemente da capacidade dos serviços receptores
Filas de mensagens e sistemas de publicação/assinatura (pub/sub) são comumente usados para implementar comunicação assíncrona, permitindo que os serviços funcionem de forma desacoplada
Comunicação assíncrona só é adequada para cenários em que a consistência forte é necessária em tempo real
A comunicação assíncrona elimina a necessidade de garantir a resiliência dos microserviços, pois sempre há backups automáticos
O modo como construímos softwares está em constante evolução, nos últimos anos o conceito de microserviços tem ganhado a atenção do mercado. Sobre microsserviços responda:
É uma abordagem arquitetural com foco em softwares como coleção de serviços pequenos e independentes, que se comunicam entre si através de APIs. As principais características são: interdependência, ou seja, cada microsserviço é uma unidade interdependente que executa uma função específica dentro da aplicação.
É uma abordagem arquitetural com foco em softwares como coleção de serviços pequenos e independentes, que se comunicam entre si através de APIs. As principais características são: independência, ou seja, cada microserviço é uma unidade independente que executa uma função específica dentro da aplicação; comunicação constante via APIs, os microsserviços se comunicam entre si utilizando APIs; desenvolvimento e deploy independentes, como cada microserviço é autônomo, ele pode ser desenvolvido, testado, e implantado independentemente dos outros; escalabilidade, microsserviços permitem uma escalabilidade mais granular.
Cada microsserviços podem ser desenvolvidos usando uma linguagem de programação e tecnologia padrão ao propósito específico. Isso permite menor flexibilidade tecnológica dentro de uma organização.
As vantagens dos microsserviços são: A gestão de múltiplos serviços, cada um com seu próprio ciclo de vida, pode ser facilmente gerenciada. Isso inclui orquestração, monitoramento, logging, e deploy.
Microsserviços são mais adequados para pequenas aplicações que precisam escalar e evoluir rapidamente, e que são mantidas por pequenas equipes de desenvolvimento. Muito útil em ambientes de pequenos negócios de software.
A adoção de tecnologias que propiciem resiliência e tolerância a falhas é característica de uma arquitetura de aplicações baseada em microsserviços.
Certo
Errado
No que concerne ao paradigma arquitetural de microsserviços, assinale a alternativa correta.
Para que uma aplicação modelada em microsserviços seja eficiente, é necessário estabelecer um alto nível de compartilhamento entre os diversos microsserviços que a compõem.
Os microsserviços em um mesmo ecossistema devem ser implementados com o uso das mesmas tecnologias.
Nesse paradigma, toda a lógica de negócios é implementada em uma única unidade.
Se um microsserviço falhar, a aplicação entrará em estado de indisponibilidade até a correção da falha.
As solicitações de um cliente para os microsserviços são concentradas e encaminhadas por uma camada de API, ou seja, o cliente não invoca diretamente os serviços.
Relaciones as desvantagens dos microsserviços com seus respectivos conceitos.
1. Complexidade do projeto
2. Complexidade da rede
3. Persistência de dados
4. Testes de integração
( ) Desenvolver aplicativos com arquitetura de microsserviços pode atrasar o processo de obtenção de feedback, pois nem todos os serviços podem ser testados completamente antes de serem implantados em um servidor de teste ou de produção
( ) Microsserviços precisam acompanhar onde os serviços são implantados e o número total de instâncias implantadas, para que, quando uma nova instância de um serviço específico for criada, o tráfego possa ser redirecionado de forma adequada. Isolar o estado de um serviço específico para que ele não seja compartilhado ou duplicado é extremamente difícil.
( ) Com um monólito, tudo acontece em um único processo, então não se precisa fazer muitas chamadas para outros serviços. Ao dividir partes do seu aplicativo em microsserviços, se precisará fazer uma chamada de rede, o que pode causar problemas, especialmente se vários serviços precisarem se comunicar entre si, resultando em efeitos semelhantes aos do pingue-pongue em termos de solicitações de rede.
( ) Refatorar um módulo separado dentro do monólito geral é uma opção mais fácil do que dividir uma parte do seu aplicativo em um microsserviço, pois não há como voltar atrás depois de dividir um serviço.
Assinale a opção que indica a relação correta, na ordem apresentada.
1 – 2 – 4 – 3.
3 – 2 – 4 – 1.
4 – 1 – 2 – 3.
4 – 3 – 2 – 1.
4 – 3 – 1 – 2.
Na arquitetura de microsserviços, é correto afirmar que o microsserviço
está fortemente acoplado a outros serviços para facilitar a comunicação e o compartilhamento de dados.
pode ser implantado independentemente e possuir seu próprio ciclo de vida de desenvolvimento.
é responsável por múltiplas funcionalidades e tarefas de diferentes domínios de negócio.
utiliza a mesma linguagem de programação e o mesmo banco de dados para garantir a consistência.
possui arquitetura que exige um monólito central que gerencie todas as interações entre serviços.