Simplificando a arquitetura de microsserviços
Introdução
Quando a fase inicial de estudos relacionados à programação vai chegando ao fim, começamos a nos deparar com conceitos mais complexos, como as arquiteturas de softwares.
Mas, qual utilidade há nisso?
Bem, assim como um engenheiro civil deve planejar a forma com que se dará a construção de um edifício, bem como o modo com que suas estruturas estarão dispostas, um engenheiro de software deve pensar em como estruturar e codificar todas as funcionalidades de um sistema - não basta sair programando.
Ok, mas o que seriam microsserviços?
No início da caminhada como desenvolvedor(a), não nos preocupamos em como estruturar as funções do nosso sistema (e não há mal nisso, visto que estamos no princípio do aprendizado), logo, quando precisamos codificar uma aplicação, por exemplo, criamos uma pasta e "vamos codando tudo" em arquivos localizados dentro dela.
Todavia, já pensou se um único arquivo dessa pasta corrompe? Ou uma funcionalidade sai do ar e interrompe todo o sistema?
VAMOS PERDER TUDO! - mesmo que temporariamente.
Solução
Bem, mas e se criarmos todas as funcionalidades de forma descentralizada, criando pastas únicas para codificarmos cada função da nossa aplicação?
Certamente, o risco de perdermos toda a aplicação por conta de erros isolados será MUITO menor, não?
De forma resumida e básica, essa é uma das principais vantagens da arquitetura de microsserviços.