Title: Engenharia de Software / Arquitetura Monolítica
Tags: Engenharia_de_Software Resumo
On every note of this deck, unless a note says otherwise:
tldr: - Arquitetura monolítica: aplicação construída como uma única unidade (UI, lógica de negócio e dados) rodando em um único processo, com deploy único (ex.: JAR/WAR).
- Contexto histórico: foi a abordagem natural por décadas (simplicidade, limitações de hardware/rede); com o aumento de escala e popularização da web, surgiram desafios de escalabilidade, manutenibilidade e velocidade de entrega, impulsionando arquiteturas distribuídas como microsserviços.
- Características: componentes altamente acoplados, stack tecnológica mais homogênea, testes e depuração mais diretos por estarem no mesmo processo; escala tende a ser vertical (e horizontal pode ser mais difícil).
- Vantagens: desenvolvimento e operação mais simples no início, testes e deploy simplificados, monitoramento centralizado, comunicação interna eficiente e gestão de estado mais fácil.
- Desvantagens: base de código cresce e fica complexa, escala o sistema inteiro mesmo quando só uma parte precisa, maior risco de ponto único de falha, difícil isolar problemas e maior rigidez tecnológica/risco em atualizações.
link: https://documentacao.online/estudos/bii4.html

front: (PROF. DIEGO / INÉDITA – 2024) Arquiteturas monolíticas são inerentemente incapazes de escalar.
response: Errado
comment: Arquiteturas Monolíticas não são inerentemente incapazes de escalar, mas apresentam desafios específicos de escalabilidade que diferem das arquiteturas baseadas em microserviços ou distribuídas.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Errado - Arquiteturas Monolíticas não são inerentemente incapazes de escalar, mas apresentam desafios específicos de escalabilidade que diferem das arquiteturas baseadas em microserviços ou distribuídas.

front: (PROF. DIEGO / INÉDITA – 2024) Em um aplicativo monolítico, a falha em um componente pode afetar a disponibilidade de todo o sistema.
response: Correto
comment: Em um aplicativo monolítico, os componentes são fortemente acoplados e executados como uma única unidade de software. Isso significa que a falha em um componente pode, de fato, comprometer ou afetar a disponibilidade e a estabilidade do sistema inteiro. A interdependência entre componentes em arquiteturas monolíticas torna o sistema mais suscetível a falhas em cascata, onde um problema em uma parte do aplicativo pode levar a falhas subsequentes em outras partes. Esse risco contrasta com arquiteturas baseadas em microserviços, onde os serviços são mais isolados e, portanto, uma falha em um microserviço pode ter impacto limitado, mantendo os demais serviços operacionais.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Correto - Em um aplicativo monolítico, os componentes são fortemente acoplados e executados como uma única unidade de software. Isso significa que a falha em um componente pode, de fato, comprometer ou afetar a disponibilidade e a estabilidade do sistema inteiro. A interdependência entre componentes em arquiteturas monolíticas torna o sistema mais suscetível a falhas em cascata, onde um problema em uma parte do aplicativo pode levar a falhas subsequentes em outras partes. Esse risco contrasta com arquiteturas baseadas em microserviços, onde os serviços são mais isolados e, portanto, uma falha em um microserviço pode ter impacto limitado, mantendo os demais serviços operacionais.

front: (PROF. DIEGO / INÉDITA – 2024) A arquitetura monolítica simplifica o processo de desenvolvimento e implantação para projetos pequenos e médios.
response: Correto
comment: Para projetos de pequeno a médio porte, a arquitetura monolítica de fato simplifica o processo de desenvolvimento e implantação. Essa simplificação ocorre porque todos os componentes do aplicativo estão contidos dentro de uma única base de código, o que facilita o gerenciamento das dependências, a construção, o teste e a implantação do aplicativo como uma unidade coesa. Isso elimina a complexidade associada ao gerenciamento de múltiplos serviços ou módulos distribuídos, como é comum em arquiteturas baseadas em microserviços. Além disso, equipes menores ou projetos com escopo limitado podem se beneficiar da velocidade de desenvolvimento e da facilidade de manutenção proporcionadas por uma abordagem monolítica, tornando-a uma escolha prática e eficiente para iniciar rapidamente novos projetos ou para o desenvolvimento de aplicações com requisitos bem definidos e menos propensos a mudanças frequentes.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Correto - Para projetos de pequeno a médio porte, a arquitetura monolítica de fato simplifica o processo de desenvolvimento e implantação. Essa simplificação ocorre porque todos os componentes do aplicativo estão contidos dentro de uma única base de código, o que facilita o gerenciamento das dependências, a construção, o teste e a implantação do aplicativo como uma unidade coesa. Isso elimina a complexidade associada ao gerenciamento de múltiplos serviços ou módulos distribuídos, como é comum em arquiteturas baseadas em microserviços. Além disso, equipes menores ou projetos com escopo limitado podem se beneficiar da velocidade de desenvolvimento e da facilidade de manutenção proporcionadas por uma abordagem monolítica, tornando-a uma escolha prática e eficiente para iniciar rapidamente novos projetos ou para o desenvolvimento de aplicações com requisitos bem definidos e menos propensos a mudanças frequentes.

front: (PROF. DIEGO / INÉDITA – 2024) Aplicativos monolíticos não permitem a escalabilidade horizontal.
response: Errado
comment: Aplicativos monolíticos permitem a escalabilidade horizontal, embora essa forma de escalabilidade possa apresentar desafios adicionais em comparação com a escalabilidade vertical ou com arquiteturas baseadas em microserviços.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Errado - Aplicativos monolíticos permitem a escalabilidade horizontal, embora essa forma de escalabilidade possa apresentar desafios adicionais em comparação com a escalabilidade vertical ou com arquiteturas baseadas em microserviços.

front: (PROF. DIEGO / INÉDITA – 2024) Aplicativos monolíticos geralmente utilizam um conjunto diversificado de tecnologias e frameworks dentro do mesmo código-fonte.
response: Errado
comment: Aplicativos monolíticos, na realidade, tendem a utilizar um conjunto mais homogêneo de tecnologias e frameworks dentro do mesmo código-fonte, em vez de uma diversidade ampla. A natureza integrada dos aplicativos monolíticos significa que todos os componentes do aplicativo — desde a interface do usuário até a lógica de negócios e o acesso a dados — são desenvolvidos, construídos e implantados como uma unidade única. Isso leva a algumas considerações importantes:
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Errado - Aplicativos monolíticos, na realidade, tendem a utilizar um conjunto mais homogêneo de tecnologias e frameworks dentro do mesmo código-fonte, em vez de uma diversidade ampla. A natureza integrada dos aplicativos monolíticos significa que todos os componentes do aplicativo — desde a interface do usuário até a lógica de negócios e o acesso a dados — são desenvolvidos, construídos e implantados como uma unidade única. Isso leva a algumas considerações importantes:

front: (PROF. DIEGO / INÉDITA – 2024) A manutenção de estado é considerada mais simples em arquiteturas monolíticas em comparação com sistemas distribuídos.
response: Correto
comment: A manutenção de estado é geralmente considerada mais simples em arquiteturas monolíticas em comparação com sistemas distribuídos. Isso se deve a várias características inerentes à forma como os aplicativos monolíticos são construídos e operados.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Correto - A manutenção de estado é geralmente considerada mais simples em arquiteturas monolíticas em comparação com sistemas distribuídos. Isso se deve a várias características inerentes à forma como os aplicativos monolíticos são construídos e operados.

front: (PROF. DIEGO / INÉDITA – 2024) Arquiteturas monolíticas facilitam a reutilização de código e a integração de funcionalidades devido à sua coesão funcional.
response: Correto
comment: A arquiteturas monolíticas de fato facilitam a reutilização de código e a integração de funcionalidades devido à sua coesão funcional. A natureza integrada e unificada de um aplicativo monolítico significa que todos os seus componentes — desde a interface do usuário até a lógica de negócios e o acesso a dados — são desenvolvidos, construídos e executados como uma única unidade.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Correto - A arquiteturas monolíticas de fato facilitam a reutilização de código e a integração de funcionalidades devido à sua coesão funcional. A natureza integrada e unificada de um aplicativo monolítico significa que todos os seus componentes — desde a interface do usuário até a lógica de negócios e o acesso a dados — são desenvolvidos, construídos e executados como uma única unidade.

front: (PROF. DIEGO / INÉDITA – 2024) A arquitetura monolítica é ideal para todas as fases do ciclo de vida de um software, independentemente da complexidade ou tamanho do projeto.
response: Errado
comment: A arquitetura monolítica pode não ser ideal para todas as fases do ciclo de vida de um software, especialmente à medida que a complexidade ou o tamanho do projeto aumenta. À medida que o software cresce em complexidade e tamanho, manter uma arquitetura monolítica pode se tornar cada vez mais desafiador. Problemas comuns incluem dificuldade em implementar novas funcionalidades sem afetar outras partes do sistema, desafios na manutenção e no teste devido à base de código extensa, e limitações na escalabilidade. Nesses casos, estruturas mais flexíveis e escaláveis, como arquiteturas baseadas em microserviços, podem ser mais adequadas.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Errado - A arquitetura monolítica pode não ser ideal para todas as fases do ciclo de vida de um software, especialmente à medida que a complexidade ou o tamanho do projeto aumenta. À medida que o software cresce em complexidade e tamanho, manter uma arquitetura monolítica pode se tornar cada vez mais desafiador. Problemas comuns incluem dificuldade em implementar novas funcionalidades sem afetar outras partes do sistema, desafios na manutenção e no teste devido à base de código extensa, e limitações na escalabilidade. Nesses casos, estruturas mais flexíveis e escaláveis, como arquiteturas baseadas em microserviços, podem ser mais adequadas.

front: (PROF. DIEGO / INÉDITA – 2024) Qual das seguintes afirmações descreve corretamente uma vantagem da arquitetura monolítica?
a) Facilita a implementação de novas tecnologias sem impactar outras partes do sistema.
b) Permite a escalabilidade horizontal sem necessidade de coordenação entre diferentes componentes.
c) Simplifica o processo de desenvolvimento, teste, implantação e gerenciamento em projetos de menor complexidade.
d) Isola falhas em um componente, evitando que afetem o restante do aplicativo.
e) Reduz a complexidade do código à medida que novas funcionalidades são adicionadas.
response: Letra C
comment: (a) Errado. Facilitar a implementação de novas tecnologias sem impactar outras partes do sistema é mais característico de arquiteturas baseadas em microserviços, onde os serviços são independentes, do que de arquiteturas monolíticas; (b) Errado. Permitir a escalabilidade horizontal sem necessidade de coordenação entre diferentes componentes também é mais associado com arquiteturas de microserviços. Em um monólito, a escalabilidade geralmente exige que todo o aplicativo seja escalado, não apenas partes dele; (c) Correto. Uma vantagem da arquitetura monolítica é a simplificação do processo de desenvolvimento, teste, implantação e gerenciamento, especialmente em projetos de menor complexidade. Isso ocorre porque todas as partes do aplicativo estão unidas em uma única base de código, o que pode tornar esses processos mais diretos em comparação com arquiteturas mais distribuídas, como microserviços; (d) Errado. Isolar falhas em um componente, evitando que afetem o restante do aplicativo, é uma vantagem mais típica de arquiteturas baseadas em microserviços. Em uma arquitetura monolítica, uma falha em uma parte do aplicativo pode facilmente afetar outras partes devido à sua natureza integrada; (e) Errado. Reduzir a complexidade do código à medida que novas funcionalidades são adicionadas não é uma vantagem da arquitetura monolítica. Na verdade, à medida que mais funcionalidades são integradas em uma base de código monolítica, a complexidade do sistema tende a aumentar, o que pode tornar mais difícil a manutenção e a implementação de novas funcionalidades.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Letra C - (a) Errado. Facilitar a implementação de novas tecnologias sem impactar outras partes do sistema é mais característico de arquiteturas baseadas em microserviços, onde os serviços são independentes, do que de arquiteturas monolíticas; (b) Errado. Permitir a escalabilidade horizontal sem necessidade de coordenação entre diferentes componentes também é mais associado com arquiteturas de microserviços. Em um monólito, a escalabilidade geralmente exige que todo o aplicativo seja escalado, não apenas partes dele; (c) Correto. Uma vantagem da arquitetura monolítica é a simplificação do processo de desenvolvimento, teste, implantação e gerenciamento, especialmente em projetos de menor complexidade. Isso ocorre porque todas as partes do aplicativo estão unidas em uma única base de código, o que pode tornar esses processos mais diretos em comparação com arquiteturas mais distribuídas, como microserviços; (d) Errado. Isolar falhas em um componente, evitando que afetem o restante do aplicativo, é uma vantagem mais típica de arquiteturas baseadas em microserviços. Em uma arquitetura monolítica, uma falha em uma parte do aplicativo pode facilmente afetar outras partes devido à sua natureza integrada; (e) Errado. Reduzir a complexidade do código à medida que novas funcionalidades são adicionadas não é uma vantagem da arquitetura monolítica. Na verdade, à medida que mais funcionalidades são integradas em uma base de código monolítica, a complexidade do sistema tende a aumentar, o que pode tornar mais difícil a manutenção e a implementação de novas funcionalidades.

front: (PROF. DIEGO / INÉDITA – 2024) Quais dos seguintes aspectos são desafios associados à arquitetura monolítica?
a) Implementação simplificada de funcionalidades de negócios.
b) Dificuldade em escalar individualmente componentes específicos do aplicativo.
c) Monitoramento unificado e centralizado.
d) Coesão funcional e reutilização de código.
e) Flexibilidade tecnológica e atualização facilitada.
response: Letra B
comment: (a) Errado. A implementação simplificada de funcionalidades de negócios geralmente é vista como uma vantagem da arquitetura monolítica, especialmente em fases iniciais de desenvolvimento ou para projetos menos complexos, não um desafio; (b) Correto. Um dos desafios associados à arquitetura monolítica é a dificuldade em escalar individualmente componentes específicos do aplicativo. Em um monólito, geralmente é necessário escalar todo o aplicativo, mesmo se apenas uma parte dele requer mais recursos, o que pode levar a uma utilização ineficiente de recursos; (c) Errado. O monitoramento unificado e centralizado é geralmente considerado uma vantagem da arquitetura monolítica, pois todos os componentes do aplicativo são parte de um único código base, facilitando o monitoramento; (d) Errado. A coesão funcional e a reutilização de código podem ser tanto vantagens quanto desafios na arquitetura monolítica, dependendo de como o aplicativo é estruturado. No entanto, esses aspectos não são desafios exclusivos ou particularmente destacados da arquitetura monolítica em comparação com outros desafios mais significativos; (e) Errado. Na verdade, temos uma rigidez tecnológica e desafios de atualização na arquitetura monolítica. A natureza integrada de um aplicativo monolítico pode tornar difícil adotar novas tecnologias ou atualizar partes do sistema sem afetar o aplicativo como um todo, o que pode levar a uma dependência de tecnologias obsoletas e dificultar melhorias.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Letra B - (a) Errado. A implementação simplificada de funcionalidades de negócios geralmente é vista como uma vantagem da arquitetura monolítica, especialmente em fases iniciais de desenvolvimento ou para projetos menos complexos, não um desafio; (b) Correto. Um dos desafios associados à arquitetura monolítica é a dificuldade em escalar individualmente componentes específicos do aplicativo. Em um monólito, geralmente é necessário escalar todo o aplicativo, mesmo se apenas uma parte dele requer mais recursos, o que pode levar a uma utilização ineficiente de recursos; (c) Errado. O monitoramento unificado e centralizado é geralmente considerado uma vantagem da arquitetura monolítica, pois todos os componentes do aplicativo são parte de um único código base, facilitando o monitoramento; (d) Errado. A coesão funcional e a reutilização de código podem ser tanto vantagens quanto desafios na arquitetura monolítica, dependendo de como o aplicativo é estruturado. No entanto, esses aspectos não são desafios exclusivos ou particularmente destacados da arquitetura monolítica em comparação com outros desafios mais significativos; (e) Errado. Na verdade, temos uma rigidez tecnológica e desafios de atualização na arquitetura monolítica. A natureza integrada de um aplicativo monolítico pode tornar difícil adotar novas tecnologias ou atualizar partes do sistema sem afetar o aplicativo como um todo, o que pode levar a uma dependência de tecnologias obsoletas e dificultar melhorias.

front: (PROF. DIEGO / INÉDITA – 2024) Como a arquitetura monolítica geralmente lida com a escalabilidade?
a) Por meio de escalabilidade vertical, aumentando os recursos da máquina onde a aplicação está hospedada.
b) Através de escalabilidade horizontal, adicionando mais serviços independentes.
c) Permitindo a execução de diferentes componentes em processos separados.
d) Escalando automaticamente sem qualquer intervenção necessária.
e) Utilizando um conjunto diversificado de tecnologias para melhorar o desempenho.
response: Letra A
comment: (a) Correto. A arquitetura monolítica lida com a escalabilidade principalmente por meio de escalabilidade vertical, que envolve aumentar os recursos da máquina onde a aplicação está hospedada, como CPU, RAM ou armazenamento. Isso pode ser feito até certo ponto, mas eventualmente encontra limitações físicas ou de custo; (b) Errado. A escalabilidade horizontal, que envolve adicionar mais instâncias da aplicação para distribuir a carga, é mais desafiadora em arquiteturas monolíticas em comparação com arquiteturas baseadas em microserviços. Embora seja possível escalar horizontalmente um monólito replicando a aplicação inteira em várias máquinas, isso não é feito adicionando mais serviços independentes, mas sim cópias do mesmo serviço; (c) Errado. Permitir a execução de diferentes componentes em processos separados é mais uma característica de arquiteturas baseadas em microserviços do que monolíticas. Em uma arquitetura monolítica, todos os componentes geralmente rodam no mesmo processo; (d) Errado. Escalar automaticamente sem qualquer intervenção necessária é um ideal de escalabilidade, mas não é específico da arquitetura monolítica. Isso geralmente requer configurações avançadas de infraestrutura e é mais facilmente alcançado com arquiteturas que suportam melhor a escalabilidade horizontal, como microserviços; (e) Errado. Utilizar um conjunto diversificado de tecnologias para melhorar o desempenho pode ser uma estratégia em muitos tipos de arquiteturas, mas não é uma característica distintiva de como a arquitetura monolítica lida com a escalabilidade. Em um monólito, a adoção de diversas tecnologias pode, na verdade, complicar o desenvolvimento e a manutenção, dado que todo o sistema está integrado.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Letra A - (a) Correto. A arquitetura monolítica lida com a escalabilidade principalmente por meio de escalabilidade vertical, que envolve aumentar os recursos da máquina onde a aplicação está hospedada, como CPU, RAM ou armazenamento. Isso pode ser feito até certo ponto, mas eventualmente encontra limitações físicas ou de custo; (b) Errado. A escalabilidade horizontal, que envolve adicionar mais instâncias da aplicação para distribuir a carga, é mais desafiadora em arquiteturas monolíticas em comparação com arquiteturas baseadas em microserviços. Embora seja possível escalar horizontalmente um monólito replicando a aplicação inteira em várias máquinas, isso não é feito adicionando mais serviços independentes, mas sim cópias do mesmo serviço; (c) Errado. Permitir a execução de diferentes componentes em processos separados é mais uma característica de arquiteturas baseadas em microserviços do que monolíticas. Em uma arquitetura monolítica, todos os componentes geralmente rodam no mesmo processo; (d) Errado. Escalar automaticamente sem qualquer intervenção necessária é um ideal de escalabilidade, mas não é específico da arquitetura monolítica. Isso geralmente requer configurações avançadas de infraestrutura e é mais facilmente alcançado com arquiteturas que suportam melhor a escalabilidade horizontal, como microserviços; (e) Errado. Utilizar um conjunto diversificado de tecnologias para melhorar o desempenho pode ser uma estratégia em muitos tipos de arquiteturas, mas não é uma característica distintiva de como a arquitetura monolítica lida com a escalabilidade. Em um monólito, a adoção de diversas tecnologias pode, na verdade, complicar o desenvolvimento e a manutenção, dado que todo o sistema está integrado.

front: (PROF. DIEGO / INÉDITA – 2024) Qual é um dos principais benefícios do teste e da depuração em aplicações monolíticas?
a) A necessidade de ferramentas especializadas para testes de integração.
b) A capacidade de testar componentes em isolamento sem considerar o sistema como um todo.
c) Testar e depurar pode ser mais direto, pois todos os componentes estão no mesmo processo.
d) A complexidade dos testes é reduzida devido à natureza distribuída dos componentes.
e) Falhas em um componente não impactam os testes de outros componentes.
response: Letra C
comment: (a) Errado. A necessidade de ferramentas especializadas para testes de integração não é considerada um benefício, mas sim um desafio ou requisito adicional em muitas arquiteturas, incluindo monolíticas e de microserviços; (b) Errado. Em aplicações monolíticas, a capacidade de testar componentes em isolamento pode ser limitada em comparação com microserviços, uma vez que os componentes estão mais entrelaçados dentro de um único processo. Isso contradiz a natureza monolítica, onde a interdependência é maior; (c) Correto. Testar e depurar em aplicações monolíticas pode ser mais direto, pois todos os componentes estão no mesmo processo. Isso facilita a realização de testes de integração e a depuração, já que não é necessário configurar e coordenar vários serviços ou processos distribuídos; (d) Errado. A complexidade dos testes geralmente é aumentada em arquiteturas monolíticas devido à interdependência dos componentes, e não reduzida. A natureza distribuída dos componentes, característica de arquiteturas baseadas em microserviços, pode complicar a infraestrutura, mas também facilita a modularidade dos testes; (e) Errado. Em aplicações monolíticas, falhas em um componente frequentemente impactam os testes de outros componentes devido à natureza integrada do sistema. Isso contrasta com arquiteturas de microserviços, onde a falha em um serviço pode não afetar diretamente os outros.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Letra C - (a) Errado. A necessidade de ferramentas especializadas para testes de integração não é considerada um benefício, mas sim um desafio ou requisito adicional em muitas arquiteturas, incluindo monolíticas e de microserviços; (b) Errado. Em aplicações monolíticas, a capacidade de testar componentes em isolamento pode ser limitada em comparação com microserviços, uma vez que os componentes estão mais entrelaçados dentro de um único processo. Isso contradiz a natureza monolítica, onde a interdependência é maior; (c) Correto. Testar e depurar em aplicações monolíticas pode ser mais direto, pois todos os componentes estão no mesmo processo. Isso facilita a realização de testes de integração e a depuração, já que não é necessário configurar e coordenar vários serviços ou processos distribuídos; (d) Errado. A complexidade dos testes geralmente é aumentada em arquiteturas monolíticas devido à interdependência dos componentes, e não reduzida. A natureza distribuída dos componentes, característica de arquiteturas baseadas em microserviços, pode complicar a infraestrutura, mas também facilita a modularidade dos testes; (e) Errado. Em aplicações monolíticas, falhas em um componente frequentemente impactam os testes de outros componentes devido à natureza integrada do sistema. Isso contrasta com arquiteturas de microserviços, onde a falha em um serviço pode não afetar diretamente os outros.

front: (PROF. DIEGO / INÉDITA – 2024) Em que cenário a arquitetura monolítica é considerada uma escolha ideal?
a) Projetos que requerem alta flexibilidade e adoção frequente de novas tecnologias.
b) Aplicações com requisitos de escalabilidade horizontal intensiva.
c) Sistemas complexos com muitas interdependências entre microserviços.
d) Projetos de pequena a média escala com requisitos bem definidos.
e) Ambientes que necessitam de isolamento absoluto de falhas entre componentes.
response: Letra D
comment: (a) Errado. Projetos que requerem alta flexibilidade e adoção frequente de novas tecnologias podem se beneficiar mais das arquiteturas baseadas em microserviços, que oferecem maior modularidade e facilidade de incorporação de novas tecnologias sem afetar o restante do sistema; (b) Errado. Aplicações com requisitos de escalabilidade horizontal intensiva geralmente se beneficiam mais de uma arquitetura baseada em microserviços, que permite escalar componentes de forma independente; (c) Errado. Sistemas complexos com muitas interdependências entre microserviços podem indicar problemas de design nos microserviços, e não necessariamente uma vantagem da arquitetura monolítica; (d) Correto. Projetos de pequena a média escala com requisitos bem definidos podem se beneficiar da simplicidade e da coesão de uma arquitetura monolítica. Em tais cenários, a arquitetura monolítica pode facilitar o desenvolvimento, a implantação e a manutenção, evitando a complexidade operacional associada às arquiteturas de microserviços; (e) Errado. Ambientes que necessitam de isolamento absoluto de falhas entre componentes se beneficiam mais de arquiteturas baseadas em microserviços, onde o isolamento e a independência dos serviços podem minimizar o impacto de falhas em um único componente sobre o sistema como um todo.
title: Arquitetura Monolítica
Other fields (not shown on cards):
back: Letra D - (a) Errado. Projetos que requerem alta flexibilidade e adoção frequente de novas tecnologias podem se beneficiar mais das arquiteturas baseadas em microserviços, que oferecem maior modularidade e facilidade de incorporação de novas tecnologias sem afetar o restante do sistema; (b) Errado. Aplicações com requisitos de escalabilidade horizontal intensiva geralmente se beneficiam mais de uma arquitetura baseada em microserviços, que permite escalar componentes de forma independente; (c) Errado. Sistemas complexos com muitas interdependências entre microserviços podem indicar problemas de design nos microserviços, e não necessariamente uma vantagem da arquitetura monolítica; (d) Correto. Projetos de pequena a média escala com requisitos bem definidos podem se beneficiar da simplicidade e da coesão de uma arquitetura monolítica. Em tais cenários, a arquitetura monolítica pode facilitar o desenvolvimento, a implantação e a manutenção, evitando a complexidade operacional associada às arquiteturas de microserviços; (e) Errado. Ambientes que necessitam de isolamento absoluto de falhas entre componentes se beneficiam mais de arquiteturas baseadas em microserviços, onde o isolamento e a independência dos serviços podem minimizar o impacto de falhas em um único componente sobre o sistema como um todo.