Olá, Clausemberg! Parabéns pelo seu progresso e sucesso como freelancer!
Sobre a sua pergunta, a decisão de usar microsserviços ou um sistema monolítico depende muito do contexto do projeto e da sua capacidade de lidar com as complexidades que cada abordagem traz.
Os microsserviços podem ser uma excelente escolha se você estiver lidando com sistemas grandes e complexos, onde diferentes partes do sistema têm requisitos de escalabilidade diferentes. Por exemplo, em um sistema de e-commerce, o serviço de carrinho de compras pode precisar ser escalado de forma diferente do serviço de gerenciamento de inventário. Além disso, os microsserviços permitem que você use diferentes tecnologias para diferentes serviços, o que pode ser útil se diferentes partes do sistema tiverem diferentes requisitos técnicos.
No entanto, como mencionado na aula, os microsserviços trazem uma maior complexidade de desenvolvimento e infraestrutura. Você precisará gerenciar a comunicação entre os serviços, o que pode ser complexo. Além disso, o monitoramento de vários serviços pode ser mais desafiador do que monitorar um único sistema monolítico.
Por outro lado, um sistema monolítico pode ser mais simples de desenvolver e gerenciar, especialmente para projetos menores. Você não terá que lidar com a complexidade da comunicação entre serviços e o monitoramento será mais simples. No entanto, um sistema monolítico pode ser mais difícil de escalar e você estará limitado a usar uma única tecnologia para todo o sistema.
Como você está lidando com projetos de clientes com requisitos difusos, pode ser útil começar com um sistema monolítico e, à medida que o sistema cresce e os requisitos se tornam mais claros, considerar a refatoração para microsserviços onde faz sentido. Isso é consistente com a abordagem "Monolito primeiro" sugerida por Martin Fowler, conforme mencionado na aula.
Espero ter ajudado e bons estudos!