Carregando...
Carregando...
Ajude a melhorar a plataforma
Com relação às boas práticas para o desenvolvimento de aplicações de microsserviços, se comparadas às aplicações monolíticas, avalie as afirmações a seguir:
I. Gerir o processo de alinhamento entre tecnologia e negócios.
II. Minimizar o acoplamento de serviços.
III. Manter o comportamento específico do domínio em um só lugar; de forma que se for necessário mudar um comportamento, não será necessário alterar múltiplos microsserviços.
IV. Estabelecer e manter a conformidade com os requisitos pré-determinados.
Está correto o que se afirma em:
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
Alternativa E - II e III, apenas.
A questão aborda as boas práticas no desenvolvimento de aplicações de microsserviços, contrastando-as com as aplicações monolíticas. A arquitetura de microsserviços é uma abordagem que estrutura uma aplicação como uma coleção de serviços pequenos, independentes e fracamente acoplados, cada um executando seu próprio processo e se comunicando com mecanismos leves, geralmente uma API baseada em HTTP. Compreender as vantagens e as boas práticas intrínsecas a essa arquitetura é fundamental para seu uso eficaz.
A transição de uma arquitetura monolítica para microsserviços envolve a adoção de princípios e práticas que visam resolver desafios inerentes a sistemas grandes e complexos, além de promover agilidade e escalabilidade.
As "boas práticas" neste contexto referem-se aos princípios de design e operacionais que maximizam os benefícios da arquitetura de microsserviços e mitigam seus desafios, especialmente quando comparados ao modelo monolítico.
Vamos analisar cada afirmação com base nas características e objetivos dos microsserviços em comparação com monólitos:
| Afirmação | Análise Detalhada | Relevância para Microsserviços vs. Monólitos | | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | I. Gerir o processo de alinhamento entre tecnologia e negócios. | Esta é uma boa prática fundamental em qualquer desenvolvimento de software, independentemente da arquitetura. O alinhamento entre tecnologia e negócios é crucial para o sucesso de projetos, sejam eles monolíticos ou baseados em microsserviços. Embora microsserviços possam facilitar o alinhamento ao permitir que equipes pequenas e autônomas sejam organizadas em torno de capacidades de negócio (modelo de "equipes de dois-pizza" de Conway), a gestão desse alinhamento não é uma prática exclusiva ou distintiva dos microsserviços em comparação com monolíticos. | Incorreta. É uma prática geral de gestão de projetos/produtos, não uma característica ou boa prática específica que diferencia microsserviços de monólitos. | | II. Minimizar o acoplamento de serviços. | Este é um dos pilares da arquitetura de microsserviços. O objetivo é que cada microsserviço seja autônomo e independente, interagindo com outros serviços por meio de interfaces bem definidas (APIs), sem ter conhecimento profundo da implementação interna uns dos outros. Isso contrasta diretamente com arquiteturas monolíticas, onde os componentes internos geralmente são altamente acoplados, com dependências diretas e fortes entre si. | Correta. A minimização do acoplamento é um princípio fundamental e uma vantagem chave dos microsserviços sobre monólitos, promovendo a independência e a resiliência. | | III. Manter o comportamento específico do domínio em um só lugar; de forma que se for necessário mudar um comportamento, não será necessário alterar múltiplos microsserviços. | Esta afirmação descreve o princípio do "Bounded Context" (Contexto Delimitado) do Domain-Driven Design (DDD), que é fundamental para a arquitetura de microsserviços. Cada microsserviço deve encapsular uma capacidade de negócio e a lógica de domínio associada. Se uma mudança for necessária para um comportamento específico desse domínio, ela deve ser contida dentro daquele microsserviço, sem a necessidade de modificar outros serviços. Em um monólito, a lógica de domínio pode estar espalhada ou fortemente entrelaçada em módulos, tornando as mudanças mais propensas a afetar várias partes do código. | Correta. Esta é uma boa prática essencial dos microsserviços, que visa isolar as preocupações de domínio, facilitando a manutenção e evolução de funcionalidades específicas. | | IV. Estabelecer e manter a conformidade com os requisitos pré-determinados. | Similar à afirmação I, garantir a conformidade com os requisitos é uma meta universal em qualquer projeto de desenvolvimento de software. Seja uma aplicação monolítica ou de microsserviços, a validação e manutenção da conformidade são etapas cruciais. Microsserviços podem oferecer vantagens em cenários específicos de conformidade (por exemplo, isolamento de dados sensíveis), mas a prática de "estabelecer e manter a conformidade" não é uma boa prática distintiva dos microsserviços em comparação com os monólitos. | Incorreta. É uma prática geral de garantia de qualidade e requisitos, aplicável a todas as arquiteturas, não sendo uma característica diferenciadora dos microsserviços. |
Com base na análise, as afirmações II e III são as que descrevem boas práticas ou características distintivas e vantajosas da arquitetura de microsserviços quando comparada à arquitetura monolítica.
As boas práticas para o desenvolvimento de aplicações de microsserviços enfatizam a independência, a coesão e o desacoplamento. Minimizar o acoplamento entre os serviços e encapsular a lógica de domínio dentro de cada serviço são princípios fundamentais que diferenciam essa arquitetura do modelo monolítico, trazendo benefícios em termos de escalabilidade, resiliência e agilidade de desenvolvimento. As outras afirmações representam boas práticas gerais de engenharia de software, aplicáveis a qualquer tipo de arquitetura, e, portanto, não são distintivas dos microsserviços em comparação com as aplicações monolíticas.
Alternativa E.