Monolito versus Micro serviços
Todo início de novo projeto envolve decidir entre construir todos os módulos em uma só aplicação (monolito) ou distribuir cada módulo em diferentes aplicações com processos e até servidores separados (micro serviços).
É necessário analisar todas as restrições e variáveis, e comparar matematicamente antes de tomar uma decisão. A responsabilidade que se assume ao projetar a escala de grandes projetos é pesada demais para recair sobre os ombros de profissionais inexperientes e sem domínio sobre as regras de negócio.
Vantagens do Monolito
- Cache local
- Menor latência (tempo entre requisição e resposta)
- Menor complexidade na criação e execução de testes
- Debug de erros feito com log em arquivo único
- Ideal para projetos de pequeno porte e médios
Vantagens de Micro serviços
- Trabalhos assíncronos
- Descentralização que beneficia:
- criação de novas funcionalidades/releases
- trabalho simultâneo de desenvolvedores
- Conceito black box que beneficia:
- cada micro serviço com suas entradas e suas saídas bem definidas
- substituição de um serviço por simples troca da URL do serviço
- Um serviço provedor atende a vários outros serviços consumidores
- Ideal para projetos médios e gigantes
Desvantagens de ambos
Saber as desvantagens de monolito e micro serviços é de responsabilidade do gestor de projeto no momento da definição de arquitetura de um sistema. É preciso analisar aspectos variados, como:
- arquiteturas de sistemas existentes
- benchmark de performance das melhores aplicações do segmento
- plataformas de distribuição (saas, lojas de apps)
- qualificação da mão de obra disponível
Tudo para auxiliar na tomada de decisão mais assertiva.
Quer saber mais sobre como funciona? Fale com um desenvolvedor agora mesmo!O conteudo foi útil? Isso é fantástico. Quer incentivar mais posts como esse? Mostre seu apoio com qualquer valor.
Chave PIX: d0311e58-cb6e-4d47-b3d8-3d4254763ce7