Arquitetura Monolítica
O que é?
Todas as funções do negócio estão implementadas em um único processo.
Vantagens
- É mais fácil de entender e possui uma curva de aprendizado menor.
Desvantagens
- Escalabilidade;
- Alta dependência de componentes de código.
Arquitetura de Microserviços
O que é?
Cada serviço é desenvolvido em torno de um conjunto de regras de negócio específico, e é implementado de forma independente.
Vantagens
- Manutenção e evolução dos serviços mais estáveis;
- Flexibilidade de tecnologia;
- Facilidade de colocar alterações em produção.
Desvantagens
- Desenvolvedores devem lidar com uma complexidade adicional de criar e manter um sistema distribuído;
- Dificuldade de um programador iniciante conseguir entender a estrutura do aplicativo, pois sistemas monolíticos são muito mais fáceis de serem entendidos.